2010-09-03 56 views
5

我的android应用程序,我想读取放置在SD卡上的文本文件。阅读文件以搜索字符串:“some string”,并希望获得该字符串的值。 有没有什么办法可以在android中做到这一点。阅读一个文本文件,并在android中搜索一个字符串

请分享您宝贵的建议。

+0

你对那个字符串的价值是什么意思?你的意思是它在文件中的位置,还是你想要一个关键值文件? – Janusz 2010-09-03 10:17:15

+0

像在我的文件中假设我有类似名称:Reshmi; 我只想在文件中搜索名称,然后从中获取Reshmi。 – Remmyabhavan 2010-09-03 10:32:36

+0

像最初一样,我如何搜索文件中的字符串 – Remmyabhavan 2010-09-03 10:54:30

回答

3

File file = new File(your file);

try { 
     FileInputStream in = new FileInputStream(file); 
        int len = 0; 
        byte[] data1 = new byte[1024]; 
      while (-1 != (len = in.read(data1))){ 

           if(new String(data1, 0, len).contains(Your String)) 
            //do something... 
        } 


    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

感谢Umesh.Its正常工作。您是否有任何想法,例如我可以如何获取文本旁边的文本。 – Remmyabhavan 2010-09-03 11:47:47

+0

将来自Web的数据存储在字符串中,然后使用indexOf属性并找出字符串的索引。 startIndex = index_of_your_string + yourString.length(), 然后使用substring并检索下一个字符串。 – Umesh 2010-09-04 08:42:04

+0

未授予,Umesh。您正在1024字节缓冲区内搜索模式。如果想要的单词被缓冲区破解,可能永远找不到。 对于一个简单的例子,让我们减少缓冲区大小为10 搜索文本词“南瓜”,“我喜欢这种美味的南瓜” 不匹配的第一个缓冲区,没有比赛的第二个“S美味PU”和在最后的“mpkin”上没有匹配。 相同或更大的缓冲区大小。 – Renascienza 2015-07-06 05:02:14

相关问题