私の要件は、異なるディレクトリから必要なファイル拡張子のファイルのリストを取得し、ファイルを取得する際に入力ストリームを取得して処理を行う必要があります.... 必要なファイル拡張子を持つファイルのリストを取得しようとしている場合、そのリスト内のすべての選択されたファイルから入力ストリームを取得しようとしています。 は、最初の繰り返しのために、私は必要なファイルを取得していますし、また、私は1つのファイルのためのストリームを取得していますが、次のファイルのために、私は、nullポインタ例外を取得します。 「mydirectoryなど」にCommons FTPClient InputStreamを1つの接続で複数のファイルから取得する
System.out.println(ftp.printWorkingDirectory());
boolean status = ftp
.changeWorkingDirectory("mydirectory");
System.out.println("Status of Change Directory:" + status);
System.out.println(ftp.printWorkingDirectory());
InputStream is = null;
System.out.println(ftp.printWorkingDirectory());
System.out.println(ftp.isConnected());
FTPFile[] list2 = ftp.listFiles();
System.out.println("Number of files in this directory:"
+ list2.length);
for (int i = 0; i < list2.length; i++) {
System.out.println("-------[" + list2[i].getName()
+ "]---------------------");
is = ftp.retrieveFileStream(list2[i].getName());
int bytesRead = 0;
byte[] buffer = new byte[1024];
while ((bytesRead = is.read(buffer, 0, buffer.length)) > 0) {
System.out.println(new String(buffer, 0, bytesRead));
}
//is.close();
System.out.println("-------[END:" + list2[i].getName()
+ "]---------------------");
}
ファイルの数が3として示されており、最初のファイル:私はまた、2回目の反復から、私がテストに使用
サンプル・コードをファイルのリストを取得することができません正しく読まれるが、それは私が現在の作業ディレクトリを印刷しようとした場合、retrieveFileStreamメソッドを使用してストリームを読んだ後、それは....も、それがnullポインタ例外null値を与えるが、それはまだあると言う言う第二のファイルを読み込もうとするとき接続....
.... 唯一の回避策のために私は私のコードにいくつかのバグを持っているなら、私に知らせてください。私は、私がお勧めし2つの最適化があります