Java 文件列表 : NPE while using for loop

标签 java linux nullpointerexception filepath

我已经编写了简单的 java 代码来在 Linux 中显示文件列表,并将其用于使用 TCP 的 FTP 程序(我将逐步使用所有功能)。我在谷歌搜索了大约半小时后发布了这个问题。

import java.io.*;
class FileList
{
public static void main(String args[])
{
String dirname="/home/vaibhav/Test";
File f1=new File(dirname);
String sl[]=f1.list();
System.out.print(f1.list()+"......."+sl.length+" files found.");
for(int i=0;i<sl.length;i++)
{ 
System.out.print(sl[i]+" ");
}      
}
}

输出:

vaibhav@vaibhav-VirtualBox:~/Java$ javac FileList.java
vaibhav@vaibhav-VirtualBox:~/Java$ java FileList
Exception in thread "main" java.lang.NullPointerException
    at FileList.main(FileList.java:10)

我的目录测试和 Java 内容:

vaibhav@vaibhav-VirtualBox:~$ cd /home/vaibhav/Test
vaibhav@vaibhav-VirtualBox:~/Test$ dir
1  2
vaibhav@vaibhav-VirtualBox:~/Test$ ls -al
total 8
drwxrwxrwx  2 vaibhav vaibhav 4096 Jan 18 15:04 .
drwxr-xr-x 25 vaibhav vaibhav 4096 Jan 18 16:50 ..
-rw-rw-rw-  1 vaibhav vaibhav    0 Jan 18 15:04 1
-rw-rw-rw-  1 vaibhav vaibhav    0 Jan 18 15:04 2
vaibhav@vaibhav-VirtualBox:~/Test$ cd
vaibhav@vaibhav-VirtualBox:~$ cd /home/vaibhav/Java
vaibhav@vaibhav-VirtualBox:~/Java$ ls -al
total 20
drwxr-xr-x  2 vaibhav vaibhav 4096 Jan 18 16:52 .
drwxr-xr-x 25 vaibhav vaibhav 4096 Jan 18 16:50 ..
-rw-r--r--  1 vaibhav vaibhav  990 Jan 18 16:52 FileList.class
-rw-r--r--  1 vaibhav vaibhav  477 Jan 18 16:52 FileList.java
-rw-r--r--  1 vaibhav vaibhav  487 Jan 18 16:52 FileList.java~

当我将 String dirname 更改为/home/vaibhav/Java(也是 pwd)时,程序执行良好。

问题是什么? 谢谢。

最佳答案

最好试试这个:

File folder = new File("your/path");
File[] listOfFiles = folder.listFiles();

    for (int i = 0; i < listOfFiles.length; i++) {
      if (listOfFiles[i].isFile()) {
        System.out.println("File " + listOfFiles[i].getName());
      } else if (listOfFiles[i].isDirectory()) {
        System.out.println("Directory " + listOfFiles[i].getName());
      }
    }

希望对你有帮助

关于Java 文件列表 : NPE while using for loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21203708/

相关文章:

java - 如何在 jUnit 中测试意外返回结果

linux - 我怎样才能超过文件长度限制?

java - 无法解决java.lang.NullPointerException

c# - 单声道,跨OS(Windows/Linux)Web浏览器 View

c++ - 在没有全局变量的情况下,使用 sigaction() 打破 C++ 中的无限循环

java - 我如何检查空指针异常

android - 应用程序因自定义 ListView 中的 NullPointerException 而崩溃

java - 如何检查鼠标单击事件中选择了哪个 JTree?

java - 使用应用服务器运行.exe

Java try/catch 性能,是否建议将 try 子句中的内容保持在最低限度?