2017-05-10 3 views
-1

Ich versuche, den Inhalt mehrerer Dateien mit einer Schleife an eine Zieldatei anzuhängen. Unten ist mein Code. Jedes Mal überschreibt es die Datei, anstatt anzuhängen.Wie Inhalte mehrerer Dateien an eine Zieldatei angehängt werden, indem die Schleife verwendet wird

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(); 
} 

Antwort

0

Sie könnten eine ArrayList erstellen möchten, und alle Arrays von Dateien hinzufügen.

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

Ein andere Möglichkeit wäre ein mehrdimensionales Array haben sein, wobei jedes Element von ListOfFiles einer anderen Datei-Array speichern kann, jedoch würde ich nicht raten, diesen Weg nehmen.

+0

OP erwartet keine 'ArrayList'. Er fragte _Wie ** Inhalte ** mehrerer Dateien an eine Zieldatei anhängen ** ... _ –

0

Lösung aktualisiert: So:

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(); 

-Code nicht getestet, aber kompilieren. Lösung könnte ähnlich sein.

+0

OP erwartet keine 'Datei []'. Er fragte _Wie ** Inhalte ** von mehreren Dateien ** an eine Zieldatei anhängen ** ..._ –

+0

Ja, aber weil Code, habe ich andere Dinge verstanden. Er liest den Inhalt von Dateien nicht so ... Lass sehen, was @Shashi sagt. Danke für deinen Punkt. – ajimenez

+0

OP scheint klar. Sein Code ist nur _eine Vorbereitung einer Liste von Dateien, aus denen gelesen werden soll. –

Verwandte Themen