次のコードは、一連の .csv ファイルを読み取り、それらを 1 つの .csv ファイルに結合します。私はしようとしましたsystem.out.println
...すべてのデータポイントは正しいですが、使用しようとすると次のPrintWriter
ようになります:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
.
使用しようとしましFileWriter
たが、同じエラーが発生しました。コードを修正するにはどうすればよいですか?
public class CombineCsv {
public static void main(String[] args) throws IOException {
PrintWriter output = new PrintWriter("C:\\User\\result.csv");
final File file = new File("C:\\Users\\is");
int i = 0;
for (final File child: file.listFiles()) {
BufferedReader CSVFile = new BufferedReader( new FileReader( "C:\\Users\\is\\"+child.getName()));
String dataRow = CSVFile.readLine();
while (dataRow != null) {
String[] dataArray = dataRow.split(",");
for (String item:dataArray) {
System.out.println(item + "\t");
output.append(item+","+child.getName().replaceAll(".csv", "")+",");
i++;
}
dataRow = CSVFile.readLine(); // Read next line of data.
} // Close the file once all data has been read.
CSVFile.close();
}
output.close();
System.out.println(i);
}
}