Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android从末尾读取文本文件_Java_Android - Fatal编程技术网

Java Android从末尾读取文本文件

Java Android从末尾读取文本文件,java,android,Java,Android,在Android中 我有一个文本文件,它可以大于或小于33行。 如果大于33行,则读取最后33行。 如果小于或等于33行,则读取所有行。 最快的方法谢谢 好的,这就是我得到的 MAXLINECOUNT=33; File f = new File("file......."); if (f.exists()) { String readString = new String(); int i,l; i=0; l=0;

在Android中 我有一个文本文件,它可以大于或小于33行。 如果大于33行,则读取最后33行。 如果小于或等于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++;

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

(idx++ % 33)

这样,阵列最多可容纳33行最后一行

希望这个问题的答案能帮助你安卓没有我找不到的文件。是否可以将文本文件转换为字符串并进行分析?没有什么可以阻止您在android项目中使用commons fileutils(可能除了它的大小)