2012-06-27 19 views
0

我想保存文件(再後來讀吧)在Java(Android版)使用以下寫作和

FileInputStream fis = openFileInput(filename); 

,然後也許使用的BufferedReader從中讀取數據的整數和字符串文件/作家。無論如何,我試圖保存字符串和數字,我想知道從這種情況下寫入和讀取I/O的最佳方法是什麼? 我正要執行以下操作讀取

FileInputStream fis = openFileInput(filename); 
InputStreamReader inputStreamReader = new InputStreamReader(fis); 
BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 

,並寫

FileOutputStream fos = openFileOutput(filename, 20); 
OutputStreamWriter outStreamReader = new OutputStreamWriter(fos); 
BufferedWriter bufferedWriter = new BufferedWriter(outStreamReader); 

,但我注意到的readLine將始終返回線串。所以我必須經過將字符串轉換爲整數的一些行。這是否是一種有效的方式(或正確的方式)?我覺得我缺少一些東西 謝謝

回答

4

除非你有多行字符串或字符串可以被誤認爲是整數或結構非常複雜的文件,否則就按上面提出的那樣編寫文本文件。低效率不值得失去可移植性和可讀性的好處。對於更復雜的文件

其他好的選擇是JSON或XML或Java屬性文件(其良好的庫中,您可以使用)。

只去一個二進制格式,如果你有一個很好的理由(並不必調用的Integer.parseInt和保存3個字節是不是一個很好的理由)。

+0

我看到人們caling寫入字節數組,讀取字節數組。我發現很難理解,這是否值得? – Snake

+0

@Snake:除非你有一個很好的理由(例如,如果數據本身是二進制的話),就沒有必要考慮二進制格式。 – Thilo

+0

完美。謝謝您的幫助 – Snake