我有很多byte []作品要写入文件,这些作品有点大,我觉得字节混合了......
是否有任何方法可以等待.write(byte [])完成他的工作或其他方法来处理这个问题? 当我观察文件的前半部分是正常的,那么当我开始写下半部分时,有一段时间它以前半部分结束....字节数组很好,我测试了它们。 如果您需要任何代码解释,请随意询问。
try (FileOutputStream fos = new FileOutputStream(Main.newFile)) {
for (int y = 0; y < piecesCount; y++) {
if (this.myList[y] == 1) {
fos.write(this.piecesArray.get(y).piece);
fos.flush();
System.out.println("Im writing " + y + " piece");
} else {
y--;
}
}
fos.close();
} catch (FileNotFoundException ex) {
} catch (IOException | InterruptedException ex) {
}
答案 0 :(得分:0)
好吧,如果piecesCount
是long
,int y
变量可能会溢出并开始wrtiting数组的第一部分。
如果不是这种情况,我不会在此代码中看到可能导致您所描述内容的其他错误。在这种情况下,必须有一些事情发生在
piecesArray.get(Y).piece