2013-08-06 40 views
0

我需要排序一个csv文件的第一列,这是一个时间戳。我一直在尝试用下面的代码要做到这一点,但过程p的InputStream的永远只是空白:java shell命令排序csv文件

Process p = Runtime.getRuntime().exec("sort -k1,1 -t, Bucket_Stats.csv"); 
    p.waitFor(); 
    // read this file into InputStream 
    InputStream in = p.getInputStream(); 
    OutputStream output = new FileOutputStream("Sorted_Bucket_Stats.csv"); 
    System.out.println(IOUtils.copy(in,output)); 
    output.flush(); 
    output.close(); 
+2

为什么不使用'sort'命令的'-o'标志? – jlordo

+0

你是一个圣人。让这个答案,所以我可以感谢你 – user1553248

回答

2

相反的处理Java中的输出,你可以使用

-o--output=FILE

sort命令的标志并传递输出的文件名。

如果您通过与输入相同的文件名,它将被覆盖。