2017-05-10 14 views
-1

ループを使用して複数のファイルの内容を1つのターゲットファイルに追加しようとしています。以下は私のコードです。ファイルを追加するのではなく、ファイルを上書きするたびに。ループを使用して1つのターゲットファイルに複数のファイルの内容を追加する方法

File[] directoryArr = new File[4]; 

directoryArr[0] = new File("...file path"); 
directoryArr[1] = new File("...file path"); 
directoryArr[2] = new File("...file path"); 
directoryArr[3] = new File("...file path"); 


File[] ListOfFiles = null; 

for(int count = 0; count < directoryArr.length; count++)  
    ListOfFiles = directoryArr[count].listFiles(); 
} 

答えて

0

あなたはArrayListを作成し、そこにファイルのすべての配列を追加したい場合があります。

List<File[]> myList = new ArrayList<>(); 
for(int count = 0; count < directoryArr.length; count++) 
{ 
     myList.add(directoryArr[count].listFiles()); 
} 

別のオプションは、しかし、私はそのパスを取って助言しないだろう、ListOfFilesの各要素が別のファイルの配列を格納することができます多次元配列を持っているだろう。更新

+0

OPは 'ArrayList'を期待していません。彼は_複数のファイルの内容**を1つのターゲットファイルに追加する方法を尋ねました** ... –

0

ソリューション: ので:

File[] directoryArr = new File[4]; 
directoryArr[0] = new File("...file path"); 
directoryArr[1] = new File("...file path"); 
directoryArr[2] = new File("...file path"); 
directoryArr[3] = new File("...file path"); 

List<File> myList = new ArrayList<>(); 
for(int count=0;count<directoryArr.length;count++){ 
    myList.addAll(Arrays.asList(directoryArr[count].listFiles())); 
} 

File out = new File("file-path.out"); 
out.createNewFile(); 
BufferedWriter os = new BufferedWriter(new FileWriter(out)); 
for(File f : myList) { 
    BufferedReader is = new BufferedReader(new FileReader(f)); 
    String line; 
    while ((line = is.readLine()) != null) { 
     os.write(line); 
     os.write("\n"); 
    } 
    os.flush(); 
    is.close(); 
} 
os.close(); 

コードテストしますが、コンパイルはしませ。解決方法も同様です。

+0

OPは 'File []'を期待していません。彼は_複数のファイル**の内容**を1つのターゲットファイルに追加する方法を尋ねました** ... –

+0

はい、しかしコードのため、私は他のことを理解しました。彼はファイルの内容を読んでいないので... @Shashiが何を言っているか見てみましょう。あなたの点をありがとう。 – ajimenez

+0

OPがはっきりしているようです。彼のコードはちょうど_から読み込むファイルのリストの準備です。 –

関連する問題