Điều này khiến tôi phát điên. Tôi có đoạn code sau đây mà đọc một tập tin csv và tái định dạng nó thành một bản sao dán sẵn sàng dạng mảng java:Viết tệp Java Ngẫu nhiên dừng lại?
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");
}
Như bạn có thể thấy, các mã in các bản ghi trong tập tin để an ủi, cũng như vào tệp để dán bản sao của tôi. Mã hoạt động, không có lỗi, vv Tuy nhiên, tệp được tạo dừng lại ngẫu nhiên nửa chừng thông qua các bản ghi. Tôi bước qua mã và các cuộc gọi viết đang làm việc, và phần lạ nhất là giao diện điều khiển in tất cả các hồ sơ tốt, mà NÊN gương các tập tin được tạo ra. Có ai có thể giải thích lý do tại sao các tập tin không phải là kết thúc nhưng giao diện điều khiển là?
Thông tin khác. Tập tin ban đầu là 76 dòng khoảng 36KB. Tôi nghĩ rằng vấn đề là giới hạn bộ nhớ đã đạt đến khi nó dừng lại ở dòng 56 của 76. Tôi tái chạy 56-76 (bây giờ 1-20) và nó dừng lại ở dòng 18. Nó đã cho tôi stumped ...
Vậy đó. Của nó tuôn ra và gần gũi. Tôi cảm thấy ngớ ngẩn ... –
Không cần phải cảm thấy câm, nó đã xảy ra với rất nhiều người trong chúng ta. Bây giờ bạn biết! – Todd