簡體   English   中英

FileOutputStream 等待完成寫入

[英]FileOutputStream wait for finishing writing

我有很多字節 [] 片段要寫入文件,這些片段有點大,我認為字節正在混合......

有什么方法可以等待 .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) {
    }

好吧,如果piecesCountlong整數,則int y變量可能會溢出並開始寫入數組的第一部分。

如果不是這種情況,我看不到此代碼中可能導致您所描述的其他錯誤。 在這種情況下,一定有什么事情發生在

piecesArray.get(y).piece

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM