我们使用以下代码合并具有相同标题和列的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之间(我们有更大的文件没有合并问题),我们在运行时也没有空间问题。
有没有人知道如何发生这种情况?