我将两个csv文件与不同的标头组合在一起。我将问题写入新的csv时遇到了问题。任何人都对此有所帮助。
csv文件中的值被合并并在控制台中打印。我需要将这些值写入新的csv文件。
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class MainCSV {
public static void main(String[] args){
MainCSV obj = new MainCSV();
obj.run();
}
public void run() {
String csvFile = "E:/CSV/6d54979e-60da-4c73-b6e5-b2138a7450ca.csv";
String csvFile2 = "E:/CSV/9b5659f2-38e8-4bbd-bd7c-74ad683d5c59.csv";
BufferedReader br = null;
BufferedReader br2 = null;
String line = "";
String line2 = "";
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br2 = new BufferedReader(new FileReader(csvFile2));
System.out.println("--------------------------------------------------------");
while ((line2 = br2.readLine()) != null) {
System.out.println(line2);
StringBuffer strbuf;
strbuf = new StringBuffer(line2);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("Done");
}
}
答案 0 :(得分:2)
如果您有不同的标题,则表示您有不同的列(和列数)。所以你必须解决如何组合两个不同的表。 在你的来源中,我看不出你想要什么,有什么不对。请添加stacktrace或其他。
答案 1 :(得分:2)
您需要使用某些内容输出到文件而不是控制台(System.out.println打印到控制台)。 请尝试,例如:http://www.java2s.com/Tutorial/Java/0180__File/WritelinesoftexttofileusingaPrintWriter.htm 另外,正如上面提到的ztrn,您需要确保数据列在两个文件之间排列。如果第二个CSV包含标题信息,则可能需要丢弃第二个CSV的第一行。 最后,确保不要将连字符行打印到文件或“完成”。否则你将有垃圾数据。