Java File.listFiles()无法从绝对路径检索名称
我正在使用上面的代码列出Ubuntu文档目录中的文件。如果我将文件夹名称替换为Java类文件所在的本地文件夹,同样的代码也会起作用。然而,当使用绝对路径时,我总是得到空指针异常,因为dirFiles是空的 有人能解释一下我的方法是否有错误吗Java File.listFiles()无法从绝对路径检索名称,java,file,ubuntu,file-listing,Java,File,Ubuntu,File Listing,我正在使用上面的代码列出Ubuntu文档目录中的文件。如果我将文件夹名称替换为Java类文件所在的本地文件夹,同样的代码也会起作用。然而,当使用绝对路径时,我总是得到空指针异常,因为dirFiles是空的 有人能解释一下我的方法是否有错误吗 谢谢。蒂尔达~不是绝对路径。用当前用户的主目录替换它是典型unix shell的一个特性。在java程序中,应该使用System.getProperty(“user.home”)而不是tilda。tilda~不是绝对路径。用当前用户的主目录替换它是典型uni
谢谢。蒂尔达
~
不是绝对路径。用当前用户的主目录替换它是典型unix shell的一个特性。在java程序中,应该使用System.getProperty(“user.home”)
而不是tilda。tilda~
不是绝对路径。用当前用户的主目录替换它是典型unix shell的一个特性。在java程序中,应该使用System.getProperty(“user.home”)
而不是tilda。问题似乎出在sourceDirectory上。不要使用~/Documents
,而是尝试使用完整路径/home/foo/Documents
,问题似乎出在源目录上。不要使用~/Documents
,而是使用完整路径/home/foo/Documents
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
String sourceDirectory = "~/Documents";
System.out.println(sourceDirectory);
File dir = new File(sourceDirectory);
File[] dirFiles = dir.listFiles();
for (File file : dirFiles)
{
System.out.println( file.getName() );
}
}
}