如何在Android上创建文本文件并将数据插入该文件

时间:2011-11-16 13:03:25

标签: android file

如何创建file.txt并在文件中插入包含某些变量内容的数据,例如:population [] [];在Android上,所以我们的文件资源管理器包中会有文件夹文件(data / data / ourpackage / files / ourfiles.txt)谢谢

4 个答案:

答案 0 :(得分:101)

使用此代码,您可以写入SDCard中的文本文件。 除此之外,您还需要在Android Manifest中设置权限。

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

这是代码:

public void generateNoteOnSD(Context context, String sFileName, String sBody) {
    try {
        File root = new File(Environment.getExternalStorageDirectory(), "Notes");
        if (!root.exists()) {
            root.mkdirs();
        }
        File gpxfile = new File(root, sFileName);
        FileWriter writer = new FileWriter(gpxfile);
        writer.append(sBody);
        writer.flush();
        writer.close();
        Toast.makeText(context, "Saved", Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

在写文件之前,您还必须检查您的SD卡是否已安装&amp;外部存储状态是可写的。

Environment.getExternalStorageState()

答案 1 :(得分:9)

检查android documentation。事实上它与标准的java io文件处理没什么不同,所以你也可以查看那些文档。

来自android文档的一个例子:

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

答案 2 :(得分:3)

如果你想创建一个文件并多次写入和附加数据,那么使用下面的代码,如果没有退出,它将创建文件,如果存在则会附加数据。

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd");
        Date now = new Date();
        String fileName = formatter.format(now) + ".txt";//like 2016_01_12.txt


         try
            {
                File root = new File(Environment.getExternalStorageDirectory()+File.separator+"Music_Folder", "Report Files");
                //File root = new File(Environment.getExternalStorageDirectory(), "Notes");
                if (!root.exists()) 
                {
                    root.mkdirs();
                }
                File gpxfile = new File(root, fileName);


                FileWriter writer = new FileWriter(gpxfile,true);
                writer.append(sBody+"\n\n");
                writer.flush();
                writer.close();
                Toast.makeText(this, "Data has been written to Report File", Toast.LENGTH_SHORT).show();
            }
            catch(IOException e)
            {
                 e.printStackTrace();

            }

答案 3 :(得分:1)

  y.tickFormat = ',.0f';    
  myChart.addColorAxis(ycord, ["green", "yellow", "red"]);