[英]Android write text in file Sd card
我嘗試在file.i中編寫文本,我編寫了代碼,女巫可以編寫文本,但是如果我再次使用我的代碼,文本將再次寫入file。例如,如果我第一次編寫“ Hello android”,然后編寫“ Sir”,結果只有“ Sir”。我要“ Hello android Sir”
your_file = new File("/sdcard/facebookUser");
try {
Writer writer = new OutputStreamWriter(new FileOutputStream(
your_file), "UTF-8");
writer.write(facebook_user_name + ",");
writer.write(facebook_id);
writer.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我如何編寫代碼以第二次在該文件中保存另一個文本?
new FileOutputStream(your_file, true)
public FileOutputStream(String name, boolean append) throws FileNotFoundException
append-如果為true,則字節將被寫入文件的末尾而不是開頭
代替:
writer = new OutputStreamWriter(new FileOutputStream(
your_file), "UTF-8");
采用:
writer = new OutputStreamWriter(new FileOutputStream(
your_file, true), "UTF-8");
這會將FileOutputStream
設置為追加模式。
java.io.FileOutputStream.FileOutputStream(File file,boolean append)拋出FileNotFoundException
構造一個新的FileOutputStream寫入文件。 如果append為true並且文件已經存在,它將被附加到; 否則它將被截斷。 如果文件不存在,將創建該文件。
try {
int n = 0;
String Name = "file";
File myFile = new File("/sdcard/test/");
if (!myFile.exists()) {
boolean b = myFile.mkdirs(); }
myFile = new File("/sdcard/test/"+Name+".txt");
while (myFile.exists())
{
myFile = new File("/sdcard/test/"+Name+n+".txt");
n++;
}
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
String str = "Your text to write";
myOutWriter.append(str);
myOutWriter.close();
fOut.close();
} catch (Exception e) {}
並且不要忘記滲透:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Vladimir Kulyk和user2450263是正確的! 您必須以追加模式編寫文件。 試試這個鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.