Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 写入文件在Android中不起作用_Java_Android_Filewriter - Fatal编程技术网

Java 写入文件在Android中不起作用

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");

我一直在尝试用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");
    }
}

我还尝试创建一个
文件
对象,并将其传递给
文件编写器
构造函数。这些都不起作用。我正在使用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系统上。