2012-04-04 74 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

相关问题