2013-05-05 71 views
-2
private void monthlyInput() throws IOException { 
     File inFile = new File(Environment.getExternalStorageDirectory  ().getAbsolutePath(), "S050213.txt"); 

     String data = inFile.getAbsolutePath(); 
     TextView testData = (TextView) findViewById(R.id.textView1); 
     testData.setText(data); 

     FileInputStream fInStream = new FileInputStream(inFile); 


     BufferedReader myReader = new BufferedReader(new InputStreamReader(fInStream)); 

     String data2 = myReader.readLine(); 

     TextView testData2 = (TextView) findViewById(R.id.textView2); 
     testData2.setText(data2); 

     myReader.close(); 

    } 

我知道这是找到文件,因为数据输出正确的文件路径,但data2似乎是空的。我最好的猜测是,它是没有找到该文件在Buffered Reader not reading

FileInputStream fInStream = new FileInputStream(inFile); 

我想知道我错了,或者如果我甚至接近我应该在哪里。

+2

它抛出异常吗?如果没有,你的文件可能存在,但在读取前检查文件是否存在 – nullptr 2013-05-05 05:38:49

+0

。if(inFile.exists())'然后只做东西 – Pragnani 2013-05-05 05:40:40

+0

如果有异常检查权限 – 2013-05-05 05:40:44

回答

0

代码看起来不错。看起来像读取文件的问题。 你确定它正在正确保存。尝试使用不同唯一名称的随机文本放置文件 - 手动将文件放在外部存储目录中,然后尝试使用相同的代码读取它。

+0

试图把不同的文本文件放在设备上,并且读取正常。然后,我删除了我需要的文件,并将其放回到设备上,现在它读得很好。仍然不确定是什么问题,但感谢指向我的文件,而不是代码。 – CFIT 2013-05-05 16:16:39

+0

抱歉是麻烦,但我还有一个问题。我可以指定从文件当前位于同一目录下的downloads目录中读取文件吗? – CFIT 2013-05-05 18:02:28

+0

您可以尝试Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); – Anirudh 2013-05-06 06:57:05