Android写入文件不起作用
问题描述:
我是Android的初学者。关于写入文件,我遇到了一个问题。我想将一个表单中的输入保存到一个文件中。但是,我写的代码片段并没有写在我的文件中。任何人都可以帮我吗? 的代码看起来像这样: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" />
答
这里是写作......几乎完整的类到文件文件夹在设备的模拟外部存储器上。
不要忘记将写入权限添加到清单。
obviosuly没有“D:\”在android – Selvin
我应该如何提及路径? –
阅读本文[关于保存文件的文档](https://developer.android.com/training/basics/data-storage/files.html) –