我想將文件保存在內部存儲器中。下一步是我想要讀取文件。 使用FileOutputStream在內部存儲器中創建文件,但在讀取文件時出現問題。是否可以從內部存儲器(Android)讀取文件?
是否可以訪問內部存儲來讀取文件?
我想將文件保存在內部存儲器中。下一步是我想要讀取文件。 使用FileOutputStream在內部存儲器中創建文件,但在讀取文件時出現問題。是否可以從內部存儲器(Android)讀取文件?
是否可以訪問內部存儲來讀取文件?
是的,你可以從內部存儲讀取文件。
寫入文件,你可以使用這個
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
讀取文件使用以下:
來讀取內部存儲的文件中:
呼叫openFileInput()
並傳遞給它的名字要讀取的文件。這將返回一個FileInputStream
。從文件中讀取字節read()
。然後用close()
關閉流。
代碼:
StringBuilder sb = new StringBuilder();
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
is.close();
} catch(OutOfMemoryError om) {
om.printStackTrace();
} catch(Exception ex) {
ex.printStackTrace();
}
String result = sb.toString();
請參閱本link
此線程似乎是你正在尋找什麼Read/write file to internal private storage
有一些很好的建議。
絕對肯定的,
閱讀本http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
它可以寫入和讀取內部存儲的文本文件。在內部存儲的情況下,不需要直接創建文件。使用FileOutputStream
寫入文件。 FileOutputStream
會自動在內部存儲器中創建文件。無需提供任何路徑,只需提供文件名即可。現在閱讀文件使用FileInputStream
。它會自動從內部存儲器讀取文件。下面我提供了讀取和寫入文件的代碼。
代碼寫入文件
String FILENAME ="textFile.txt";
String strMsgToSave = "VIVEKANAND";
FileOutputStream fos;
try
{
fos = context.openFileOutput(FILENAME, Context.MODE_PRIVATE);
try
{
fos.write(strMsgToSave.getBytes());
fos.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
代碼來讀取文件
int ch;
StringBuffer fileContent = new StringBuffer("");
FileInputStream fis;
try {
fis = context.openFileInput(FILENAME);
try {
while((ch = fis.read()) != -1)
fileContent.append((char)ch);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String data = new String(fileContent);
是好的,因爲沒有這個環境就可以讀取不相關的數據。所以必須使用Context context = getApplicationContext();在調用openFileInput或openFileOutput之前。 –
您好,我有一個圖像文件我怎樣才能得到這個文件,你的情況*結果*是'字符串' –