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

+0

04-04 23:19:19.196:W/System.err(1221):java.io.FileNotFoundException:/data/misc/wifi/wpa_supplicant.conf:オープンに失敗しました:EACCES(許可が拒否されました) –

+0

はいアクセス許可です拒否されましたが、私はこのマシンに根本的に存在するはずです。 –

答えて

1

パス/data/misc/は、root権限でのみアクセスできます。それはたぶんあなたがこの例外を取得している理由です。

+0

あなたは正しいですが、マシンは根っからです。実際、FileObserverを使ってWifi設定の変更を管理したいと思っています。 –

+0

私は参照してください。/system/etc/wifiにチェックインしますか? – Blackbelt

+0

rootでプロセスを実行するには、Runtime.getRuntime()。exec( "su")と答えているようです。私はそれを試して、あなたに知らせる。 –

関連する問題