簡體   English   中英

Android寫入文件不起作用

[英]Android write to file not working

我是Android的初學者。 我遇到了有關寫入文件的問題。 我想將表單中的輸入保存到文件中。 但是,我編寫的代碼段未寫入文件中。 誰能幫我嗎? 代碼如下所示:

submit.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
          StringBuilder s = new StringBuilder();
          s.append("Event name: " + editText1.getText() + "|");
          s.append("Date: " + editText2.getText() +  "|");
          s.append("Details: " + editText3.getText() + "|");

          File file = new File("D:\\config.txt");
          try {
              BufferedWriter out = new BufferedWriter(new FileWriter(file, true), 1024);
                out.write(s.toString());
                out.newLine();
                out.close();
           } catch (IOException e) {
                e.printStackTrace();
           }
      }
});

因此,我有一個包含3個字段的表單:事件的名稱,日期和描述。 這些我要保存到我的文件。 我應該提到我使用仿真器進行測試。

使用以下文件路徑。 它將文件寫入存儲的根文件夾。

String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
File file= new File(extStorageDirectory, "config.txt");

writeToFile("File content".getBytes(), file);

writeToFile

public static void writeToFile(byte[] data, File file) throws IOException {

    BufferedOutputStream bos = null;

    try {
        FileOutputStream fos = new FileOutputStream(file);
        bos = new BufferedOutputStream(fos);
        bos.write(data);
    }
    finally {
        if (bos != null) {
            try {
                bos.flush ();
                bos.close ();
            }
            catch (Exception e) {
            }
        }
    }
}

不要忘記在AndroidManifest.xml添加以下權限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

https://github.com/rznazn/GPS-Data-Logger/blob/master/app/src/main/java/com/example/android/gpsdatalogger/StorageManager.java

這是一個幾乎完整的類,用於寫入設備的模擬外部存儲器上的documents文件夾。

不要忘記添加清單的寫權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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