同じ列ヘッダーを持つCSVファイルがあります。 私はそれらを1つのファイルにしたいと思います。私は私のようなものを見つけました。リンクはMerge CSV files into a single file with no repeated headersです。 しかし、私は文字列としてデータを返すが、このコードは返されません。 私はそれを修正しようとします。私は失敗しました。 複数のcsvからのデータを1つの変数に入れたいと思います。javaを使用して複数のcsvファイルからデータを入力する方法
String[] headers = null;
String firstFile = "/path/to/firstFile.dat";
Scanner scanner = new Scanner(new File(firstFile));
if (scanner.hasNextLine())
headers[] = scanner.nextLine().split(",");
scanner.close();
Iterator<File> iterFiles = listOfFilesToBeMerged.iterator();
BufferedWriter writer = new BufferedWriter(new FileWriter(firstFile, true));
while (iterFiles.hasNext()) {
File nextFile = iterFiles.next();
BufferedReader reader = new BufferedReader(new FileReader(nextFile));
String line = null;
String[] firstLine = null;
if ((line = reader.readLine()) != null)
firstLine = line.split(",");
if (!Arrays.equals (headers, firstLine))
throw new FileMergeException("Header mis-match between CSV files: '" +
firstFile + "' and '" + nextFile.getAbsolutePath());
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
}
reader.close();
}
writer.close();
Open CSV libraryを使用することです。最後に 'StringBuilder'の' toString() 'の値を返します。難易度を誤解しない限り、これは実際には非常に基本的なJavaプログラミングです。 –
csvファイルはtxtファイルと同じですが、BufferedReaderのreadLineを使用し、result Stringを1つのファイルに書き込みます。 – passion