0

在以下几行中,我在“Environment.getExternalStorageDirectory()”中创建了一个文件

File dir = Environment.getExternalStorageDirectory();
File file = new File(dir,"/DCIM/"+fileTitle);

我的问题是:如何将文本数据写入这个创建的文件?

4

4 回答 4

0

要将文本输出到文件,您可以使用PrintWriter类,该类具有不同的有用方法来写入数据。您还可以查看流概述

于 2012-09-13T18:03:08.090 回答
0

从本教程

//Writing a file...  



try { 
       // catches IOException below
       final String TESTSTRING = new String("Hello Android");

       /* We have to use the openFileOutput()-method
       * the ActivityContext provides, to
       * protect your file from others and
       * This is done for security-reasons.
       * We chose MODE_WORLD_READABLE, because
       *  we have nothing to hide in our file */             
       FileOutputStream fOut = openFileOutput("samplefile.txt",
                                                            MODE_WORLD_READABLE);
       OutputStreamWriter osw = new OutputStreamWriter(fOut); 

       // Write the string to the file
       osw.write(TESTSTRING);

       /* ensure that everything is
        * really written out and close */
       osw.flush();
       osw.close();

//Reading the file back...

       /* We have to use the openFileInput()-method
        * the ActivityContext provides.
        * Again for security reasons with
        * openFileInput(...) */

        FileInputStream fIn = openFileInput("samplefile.txt");
        InputStreamReader isr = new InputStreamReader(fIn);

        /* Prepare a char-Array that will
         * hold the chars we read back in. */
        char[] inputBuffer = new char[TESTSTRING.length()];

        // Fill the Buffer with data from the file
        isr.read(inputBuffer);

        // Transform the chars to a String
        String readString = new String(inputBuffer);

        // Check if we read back the same chars that we had written out
        boolean isTheSame = TESTSTRING.equals(readString);

        Log.i("File Reading stuff", "success = " + isTheSame);

    } catch (IOException ioe) 
      {ioe.printStackTrace();}
于 2012-09-13T18:05:37.040 回答
0

这是一个将数据写入文件的快速片段。请注意,它设计为在单独的线程中运行,因此您无需在主 UI 线程中执行文件 IO。

new Thread(new Runnable() {
  public void run() {
    String FILENAME = "hello_file";
    String string = "hello world!";

    FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
    fos.write(string.getBytes());
    fos.close();
  }
}).start();
于 2012-09-13T18:25:58.023 回答
0

您可以使用FileWriter写入文件

于 2012-09-13T18:01:30.567 回答