在Android中写入文件

时间:2014-05-14 03:15:32

标签: android android-2.2-froyo android-file

我只是学习Android的初学者。我想学习如何将一段文字写入Android中的文件。

我点击按钮时编写的代码如下所示:

write.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            FileOutputStream fos;
            try {
                fos = openFileOutput("filename", Context.MODE_PRIVATE);
                fos.write(data.getBytes());
                fos.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            tv.setText("Values saved");
        }
    });

执行此操作时,会在logcat中抛出FileNotFoundException。据我所知,如果不存在具有此类名称的文件,将创建一个新文件。

logcat消息是:

> 05-14 08:37:55.085: W/System.err(281): java.io.FileNotFoundException: /data/data/com.example.myproject11/files/test (No such file or directory)

1 个答案:

答案 0 :(得分:0)

首先我们应该检查,文件是否存在。你最好试试:

File fileDir = new File("filepath");
    if (!fileDir.exists())
        fileDir.mkdirs();

    try {
        File file = new File(fileDir, "filename");
        FileOutputStream outputStream = new FileOutputStream(file);
        outputStream.write(data.getBytes());
        outputStream.close();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    tv.setText("Values saved");