Android从头读取文本文件

时间:2011-11-28 07:04:48

标签: java android

在Android中 我有一个文本文件,可以是LARGER或SMALLER然后33行。 如果大于33行则读取最后33行。 如果LESS或等于33行,则读取所有行。 这是最快的方式,谢谢

好的,这就是我得到的

MAXLINECOUNT=33;
File f = new File("file.......");                  
if (f.exists())
{
      String readString = new String();
     int i,l;
     i=0;
     l=0;
     LineNumberReader  reader = new LineNumberReader(new FileReader(new File("/mnt/sdcard/data.txt")));
     while ((readString = reader.readLine()) != null) {}
     l= reader.getLineNumber();
     if (l>=MAXLINECOUNT) l=l-(MAXLINECOUNT-3);// i realy need only 30
     FileInputStream fileIS = new FileInputStream(f);
     BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));
     while((readString = buf.readLine())!= null){
     if (i>l)
         {

                process hear ...............
             }
     i++;

1 个答案:

答案 0 :(得分:0)

我认为读取文件的最快方法仍然是使用java.io.Reader over stream,当时读取行并将它们放入所需大小的预分配数组中(在您的情况下为33) 预先安置指数:

(idx++ % 33)

这种方式阵列最多可容纳33行。