Questo mi fa impazzire. Ho il seguente codice che legge un file CSV e ri-formatta in una copia incolla pronto formato di array java:Scrittura di file Java Si interrompe in modo casuale?
CSVReader reader = new CSVReader(new FileReader(fileName), ',' , '"' , 0);
FileWriter writer = new FileWriter(outFile);
//Read CSV line by line and use the string array as you want
//Read all rows at once
List<String[]> allRows = reader.readAll();
//print table header
//Read CSV line by line and use the string array as you want
for(String[] row : allRows){
System.out.println(Arrays.toString(row));
writer.write("{");
for(int lcv = 0;lcv<row.length;lcv++){
if(lcv == row.length -1){
writer.write(row[lcv]);
}else{
writer.write(row[lcv]+",");
}
}
writer.write("},\n");
}
Come si può vedere, il codice stampa i record nel file di consolare, così come al file per il mio incollare copia. Il codice funziona, nessun errore, ecc. Tuttavia, il file creato si arresta in modo casuale a metà dei record. Ho fatto un passo attraverso il codice e le chiamate di scrittura stanno funzionando, e la parte più strana è che la console stampa tutti i record bene, che DOVREBBE rispecchiare il file creato. C'è qualcuno che può spiegare perché il file non sta finendo ma la console è?
Altre informazioni. Il file iniziale era di 76 righe di circa 36 KB. Ho pensato che il problema era che il limite di memoria è stato raggiunto, come si è fermato alla linea 56 del 76. ho ri-corse 56-76 (oggi 1-20) e si è fermato alla linea 18. E 'got me perplesso ...
Questo è tutto. È il colore e vicino. Mi sento stupido ora ... –
Non c'è bisogno di sentirsi stupido, è successo a molti di noi. Ora sai! – Todd