我有一些具有相同列標題的CSV文件。 我想讓他們成爲一個文件。所以我找到了和我相似的東西。鏈接是Merge CSV files into a single file with no repeated headers。 但我想返回數據作爲字符串,但此代碼沒有任何回報。 我嘗試修改它。但我失敗了。 我想將來自幾個csv的數據放入一個變量中。如何使用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();
只需更換該代碼是寫'BufferedWriter'的東西,追加到一個'StringBuilder'部分。然後在最後返回StringBuilder的'toString()'值。除非我誤解了困難,否則這是非常基本的Java編程。 –
csv文件與txt文件相同,只需使用BufferedReader readLine並將結果字符串寫入一個文件即可。 – passion