Java 写入文件在Android中不起作用
我一直在尝试用Android写一个文件。它不工作,甚至不创建文件。它总是执行catch块。这是我节目的一部分Java 写入文件在Android中不起作用,java,android,filewriter,Java,Android,Filewriter,我一直在尝试用Android写一个文件。它不工作,甚至不创建文件。它总是执行catch块。这是我节目的一部分 private void write(){ try { FileWriter fileWriter = new FileWriter("C:\\Users\\Administrator\\AndroidStudioProjects\\SunCalculator\\app\\src\\main\\res\\raw\\au_locations.txt");
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");
}
}
我还尝试创建一个
文件
对象,并将其传递给文件编写器
构造函数。这些都不起作用。我正在使用Android Studio 2.3.3您正在尝试在位置C:\\Users….
中编写文件,该位置是Windows操作系统的目录结构
但是Android是建立在Linux操作系统之上的。要在android中获取用户可写目录,应使用Environment.getExternalStorageDirectory()
,如下所示:
File file = new File(Environment.getExternalStorageDirectory(), filename);
您正试图在位置
C:\\Users….
中写入文件,该位置是Windows操作系统的目录结构
但是Android是建立在Linux操作系统之上的。要在android中获取用户可写目录,应使用Environment.getExternalStorageDirectory()
,如下所示:
File file = new File(Environment.getExternalStorageDirectory(), filename);
问题是:您从何处执行此代码,错误消息是什么,并且
C:\Users\Administrator
是否已启用写功能。您的Android设备/仿真器没有C:drive。此外,如果您正试图在运行时写入资源,则无法在运行时写入资源。您一定会遇到一些异常,将其发布到此处肯定会有所帮助。我还尝试写入D:\。它也不起作用。我的项目路径是C:\Users\Administrator\AndroidStudioProjects\suncalculatorhose驱动器/路径仅存在于您的开发计算机上。Android系统上不存在这些代码。问题是:您从何处执行此代码,错误消息是什么,并且是C:\Users\Administrator
已启用写功能。您的Android设备/仿真器没有C:驱动器。此外,如果您正试图在运行时写入资源,则无法在运行时写入资源。您一定会遇到一些异常,将其发布到此处肯定会有所帮助。我还尝试写入D:\。它也不起作用。我的项目路径是C:\Users\Administrator\AndroidStudioProjects\suncalculatorhose驱动器/路径仅存在于您的开发计算机上。它们不会存在于Android系统上。