Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Runtime.getRuntime().exec重定向问题_Java_Linux_File Io - Fatal编程技术网

Java Runtime.getRuntime().exec重定向问题

Java Runtime.getRuntime().exec重定向问题,java,linux,file-io,Java,Linux,File Io,我们使用以下代码合并具有相同标题和列的2个文件: p = Runtime.getRuntime().exec(new String[]{"bash", "-c", "tail -n +2 " + file1 + " >> " + file2}); p.waitFor(); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()

我们使用以下代码合并具有相同标题和列的2个文件:

        p = Runtime.getRuntime().exec(new String[]{"bash", "-c", "tail -n +2 " + file1 + " >> " + file2});
        p.waitFor();
        BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line = "";
        while ((line = reader.readLine())!= null) {}
然而,我们有一个奇怪的问题,合并后缺少一个文件内容,并且日志中没有任何异常或失败,我们每天有数百个这样的合并,代码以前从来没有出现过问题。文件大小在1-2G之间(我们有更大的文件,没有合并问题),运行时也没有空间问题


有人知道这是怎么发生的吗

1)缺少哪个文件内容
file1
file2
?2) 这个错误是可再现的吗?3) 您如何处理
while循环中的行?也许你可以摆脱外壳处理?4) 在这种情况下,
waitFor()
的返回值是多少?5) 你已经做了什么来找到问题的根源?谢谢你的回复。以下是我的评论:1)仅制表符分隔的txt文件2)不可复制,在之前和在类似时间运行的其他提要中工作良好3)while循环中没有任何内容。4) 它没有检查waitFor()的返回值5)我们重新运行该过程,新文件看起来很好,我可以看到在重新运行期间创建并合并了两个文件,没有任何问题。现在,我将为waitFor()添加错误处理,当返回值不是0时,让代码引发异常。