簡體   English   中英

Android在文件SD卡中寫入文本

[英]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.

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