使用mysql查询结果输出在标准输出流中,可以直接重定向到一个文件中。列的分隔是tab符,列分隔是LF符。如果想转化为cvs格式,可以通过下列Java程序进行转码。
public class TsvToCsvMain {
public static void main(String[] args) throws Exception {
// String input = "F:\\ttdata\\td-android-1000.xls";
// processFile(input);
String[] inputs = new String[] {"F://ttdata/td-detail//t-android_td-part-aa","F://ttdata/td-detail//t-android_td-part-ab","F://ttdata/td-detail//t-android_td-part-ac","F://ttdata/td-detail//t-android_td-part-ad","F://ttdata/td-detail//t-android_td-part-ae","F://ttdata/td-detail//t-android_td-part-af","F://ttdata/td-detail//t-ios_td-part-aa","F://ttdata/td-detail//t-ios_td-part-ab","F://ttdata/td-detail//t-ios_td-part-ac","F://ttdata/td-detail//t-ios_td-part-ad","F://ttdata/td-detail//t-ios_td-part-ae","F://ttdata/td-detail//t-ios_td-part-af"};
Stream.of(inputs).forEach(t -> {
try {
processFile(t);
} catch (Exception e) {
e.printStackTrace();
}
});
}
public static void processFile(String input) throws Exception {
System.out.println("process " + input);
String output = input + ".csv";
BufferedReader br = new BufferedReader(new FileReader(input));
BufferedWriter bw = new BufferedWriter(new FileWriter(output));
String ln = null;
while((ln = br.readLine())!=null) {
bw.write(transferLine(ln) + "\"\r\n");
}
bw.close();
br.close();
}
public static String transferLine(String line) {
return "\""+line.replaceAll("\"", "\"\"").replaceAll("\t", "\",\"");
}
}
本文介绍了一种使用Java程序将TSV(制表符分隔值)格式的文件转换为CSV(逗号分隔值)格式的方法。通过读取TSV文件,将制表符替换为逗号,并保存为CSV格式,适用于批量处理多个文件。
617

被折叠的 条评论
为什么被折叠?



