2011-10-10 45 views
0

我沒有運氣,這種方法基本上是一個打印文件內容到Android貓日誌的hello世界。使用Android讀取文件,預期的路徑是什麼?

try { 
      InputStream instream = openFileInput("inputFile.txt"); 
       InputStreamReader inputreader = new InputStreamReader(instream); 
       BufferedReader buffreader = new BufferedReader(inputreader); 
       String line; 
       while ((line = buffreader.readLine()) != null) { 
       System.out.println(line); 
       } 
      instream.close(); 
      } catch (java.io.FileNotFoundException e) { 
      e.printStackTrace(); 
      } 

在Android Eclipse插件中使用默認生成的項目,該文件存在哪個目錄下?任何其他考慮?

回答

3

這將嘗試從您的內部應用程序數據目錄/data/data/your.application.package/讀取文件inputFile.txt(如果不存在的話會失敗):

openFileInput("inputFile.txt"); 

來讀取SD卡中的文件,你會做這樣的事情這樣的:

new FileInputStream(Environement.getExternalStorageDirectory() 
    .getAbsolutePath() + "/inputFile.txt") 

不要忘記設置SD卡的權限在你的清單,然後:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

感謝您的跟進,我做了一些閱讀,看起來像我想要使用/ res/raw,因爲此靜態數據文件將與應用程序一起分發,而不是由它創建(因此no/data/directory ) – Hoofamon

0

該文件應該存在於應用程序本地「數據」目錄中。這個文件是否已經存在?你看過file IO on Android的文檔嗎?

相關問題