Java的閱讀我有一些計算出的數據(浮點和整數),被寫入到一個12MB文件中像這樣從二進制文件
DataOutputStream os3;
os3 = new DataOutputStream(new FileOutputStream(Cache.class.getResource("/3w.dat").getPath()));
...... (some loops)
os3.writeFloat(f);
os3.writeInt(r);
os3.close();
此後,我看它這樣
DataInputStream is3;
is3 = new DataInputStream(new FileInputStream(Cache.class.getResource("/3w.dat").getPath()));
...... (same loops)
is3.readFloat();
is3.readInt();
is3.close();
所以,我在Windows 7上只寫了一次文件。之後我只在應用程序啓動時閱讀它。文件閱讀在Windows 7上工作正常,但是當我嘗試在Ubuntu上做到這一點時,我得到EOF異常(代碼和文件相同)。
我懷疑問題可能是由寫入文件的一些NaN值引起的。
順便說一句。在調試過程中,我發現在ubuntu讀取過程中運行了大約15%的循環並引發異常。它讀取的所有值都是「0.0」,但文件不包含零。
當你*嘗試*它在Ubuntu,這是否意味着寫入和讀出或只是閱讀(也就是你讀通過生成的文件在Windows上運行的應用程序)? – npinti
我剛剛在Ubuntu上閱讀它 – flgdev
如果您在Ubuntu上編寫和閱讀的地方會發生什麼? – npinti