2011-10-10 46 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的文档吗?

相关问题