2017-09-22 6 views
-2

ftpサーバのファイルに名前をファイルが、私は次のように多少の誤差がありますリストには、私はftpサーバにあるディレクトリ内のファイルを一覧表示したい

drwxrwxrwx 3 1004  1004   4096 Jan 17 2017 ftp 
Exception in thread "main" java.lang.NullPointerException 

マイコード:

URL url = new URL("ftp://username:[email protected]:port"); 
URLConnection urlConnection = url.openConnection(); 
BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); 
String inputLine; 
while ((inputLine = in.readLine()) != null){ 
    System.out.println(inputLine); 
} 

File cur = new File("/ftp/files/assignment/"); 
getAllFiles(cur);}} 
} 

public static void getAllFiles(File curDir){ 
    long len = 0; 
    long time = curDir.lastModified(); 
    File[] filesList = curDir.listFiles(); 
    for(File f : filesList){ 
     len += f.length(); 
     if(f.isDirectory()) 
     { 
      System.out.println(f.getName() + " " + len + " " + time); 
     } 
     if(f.isFile()){ 
      System.out.println(f.getName() + " " + len + " " + time); 
     } 
    } 
} 
+1

スタックトレース –

+0

を追加してください。プログラムが実行され、例外が発生します。 – krismistri

+0

は通常生産リストが何であるかをスタックトレース –

答えて

0

Fileローカルファイルでのみ動作し、リモートFTPサーバー上のファイルではありません。/ftp/files/assignment/はローカルマシン上に存在しません(listFiles()はforループをクラッシュさせるnullを返します)。 https://docs.oracle.com/javase/7/docs/api/java/io/File.html#listFiles()から

- 「戻り値はnullこの抽象パス名がディレクトリを示さない場合、またはI/Oエラーが発生した場合。」

関連する問題