2015-04-05 49 views
0

我試圖讀取/data/misc/wifi/wpa_supplicant.conf在我的根設備 此文件可用,我可以將它複製到SD卡中問題,但新的文件()。存在()返回false新文件()。exists()爲現有文件返回false

new File("/data/misc/wifi/wpa_supplicant.conf").exists() -> FALSE 

下面的代碼工作正常

new ProcessBuilder(new String[]{"su", "-c", "cp /data/misc/wifi/wpa_supplicant.conf " + Environment.getExternalStorageDirectory().getAbsolutePath() + "/wpa_supplicant.conf"}).start().waitFor(); 
+0

確保您有權在運行此代碼的過程中閱讀。例如嘗試File#canRead。 – Kitesurfer 2015-04-05 10:34:22

回答

0

它不工作,由於文件系統的安全。除非您重新安裝分區,否則您無權讀取或寫入此目錄。檢查這個問題:how to read wpa_supplicant.conf file

一個解決方案不是使用file.exist()而是在WPA_supplicant的目錄中執行命令「ls」,並檢查過程的結果是否包含WPA_supplicant。

+0

找出爲什麼發生這種情況很重要,爲什麼.exist()不起作用 – Michael 2015-04-05 08:59:15

+0

由於文件系統安全性,它不起作用。除非您重新安裝分區,否則您無權讀取或寫入此目錄。檢查這個問題:http://stackoverflow.com/questions/21595740/how-to-read-wpa-supplicant-conf-file – 2015-04-05 09:23:46

+0

建議的解決方案,我建議是一個簡單的解決方案,建立,將在你的情況下完美工作。 – 2015-04-05 09:24:56

-2

嘗試先初始化它,並使用if語句檢查其狀態:

File file = new File("my_path"); 
if (file.exist()){ 
    // do something 
} 

,並確保該文件的路徑是正確的。

相關問題