FileOutputStream等待完成写入

时间:2016-04-05 13:53:35

标签: java file fileoutputstream writing

我有很多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) {
    }

1 个答案:

答案 0 :(得分:0)

好吧,如果piecesCountlongint y变量可能会溢出并开始wrtiting数组的第一部分。

如果不是这种情况,我不会在此代码中看到可能导致您所描述内容的其他错误。在这种情况下,必须有一些事情发生在

  

piecesArray.get(Y).piece