2017-10-16 77 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