2012-04-04 34 views
0

我想觸摸設備中的文件。文件名是/data/misc/wifi/wpa_supplicant.conf。 我可以看到它與adb外殼。 如果我嘗試用下面的代碼打開它,我得到一個FileNotFoundException。爲什麼???Android FileNotFoundException,爲什麼?

private void touchFile(String fileName) { 

    BufferedWriter bufferedWriter = null; 
    try { 
     bufferedWriter = new BufferedWriter(new FileWriter(fileName)); 
     bufferedWriter.append(' '); 
    } catch (FileNotFoundException ex) { 
     ex.printStackTrace(); 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } finally { 
     try { 
      if (bufferedWriter != null) { 
       bufferedWriter.flush(); 
       bufferedWriter.close(); 
      } 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 

} 
+0

我們可以看到您打印的堆棧軌跡嗎? – mfrankli 2012-04-04 15:30:25

+0

04-04 23:19:19.196:W/System.err(1221):java.io.FileNotFoundException:/data/misc/wifi/wpa_supplicant.conf:打開失敗:EACCES(權限被拒絕) – 2012-04-04 15:37:10

+0

是的,它是一個權限否認,但我應該是在這臺機器上的根。 – 2012-04-04 15:37:41

回答

1

路徑/data/misc/是隻有root權限訪問。這可能是你得到這個例外的原因。

+0

你是對的,但機器已經紮根,實際上我想用FileObserver管理Wifi設置中的更改。 – 2012-04-04 15:38:33

+0

我明白了。檢入/ system/etc/wifi? – Blackbelt 2012-04-04 15:43:30

+0

看來答案是Runtime.getRuntime()。exec(「su」)以root身份運行進程。我試試看,讓你知道。 – 2012-04-04 16:14:51

相關問題