2017-10-16 98 views
1

我一直在尝试写入Android中的文件。它不工作,它甚至不创建文件。它总是执行catch块。这是我的程序的一部分。写入文件在Android中不起作用

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构造。这些都没有奏效。我正在使用Android Studio 2.3.3

+0

的问题是:从你在哪里执行该代码,什么是错误消息,并且是'C:\用户\ Administrator'是写 - 启用。 –

+1

您的Android设备/仿真器没有C:驱动器。此外,如果这实际上是您尝试的操作,则无法在运行时写入资源。 –

+0

你必须得到一些例外,并在这里发布肯定会有所帮助。 –

回答

0

您正在尝试在位置C:\\Users....(它是Windows OS的目录结构)中写入文件。

但是Android是建立在Linux操作系统之上的。要获得Android的用户可写目录,你应该如下使用Environment.getExternalStorageDirectory()

File file = new File(Environment.getExternalStorageDirectory(), filename); 
+0

Thanks.It正在工作。 – 117788