写入文件在 Android 中不起作用
Write to file is not working in Android
我一直在尝试写入 Android 中的文件。它不工作,甚至不创建文件。它总是执行 catch 块。这是我程序的一部分。
private void write(){
try {
FileWriter fileWriter = new FileWriter("C:\Users\Administrator\AndroidStudioProjects\SunCalculator\app\src\main\res\raw\au_locations.txt");
Log.e("Data","path detected");
BufferedWriter bfWriter = new BufferedWriter(fileWriter);
bfWriter.write("Text Data");
bfWriter.close();
Log.e("Data","worked");
} catch (IOException e) {
e.printStackTrace();
Log.e("Data","not worked");
}
}
我还尝试创建一个 File
对象并将其传递给 FileWriter
构造函数。 None 其中有效。我正在使用 Android Studio 2.3.3
您正在尝试在 C:\Users....
位置写入文件,这是 Windows OS.
的目录结构
但是 Android 是建立在 Linux OS 之上的。要在 android 中获取用户可写目录,您应该使用 Environment.getExternalStorageDirectory()
,如下所示:
File file = new File(Environment.getExternalStorageDirectory(), filename);
我一直在尝试写入 Android 中的文件。它不工作,甚至不创建文件。它总是执行 catch 块。这是我程序的一部分。
private void write(){
try {
FileWriter fileWriter = new FileWriter("C:\Users\Administrator\AndroidStudioProjects\SunCalculator\app\src\main\res\raw\au_locations.txt");
Log.e("Data","path detected");
BufferedWriter bfWriter = new BufferedWriter(fileWriter);
bfWriter.write("Text Data");
bfWriter.close();
Log.e("Data","worked");
} catch (IOException e) {
e.printStackTrace();
Log.e("Data","not worked");
}
}
我还尝试创建一个 File
对象并将其传递给 FileWriter
构造函数。 None 其中有效。我正在使用 Android Studio 2.3.3
您正在尝试在 C:\Users....
位置写入文件,这是 Windows OS.
但是 Android 是建立在 Linux OS 之上的。要在 android 中获取用户可写目录,您应该使用 Environment.getExternalStorageDirectory()
,如下所示:
File file = new File(Environment.getExternalStorageDirectory(), filename);