0

我有一个文件,我知道该文件将始终只包含一个单词。那么读取此文件的最有效方法应该是什么?

我是否还必须为小文件创建输入流阅读器,或者是否有其他可用选项?

4

5 回答 5

3

好吧必须将字节转换为字符。

我个人建议使用Guava,它可以让你写这样的东西:

String text = Files.toString(new File("..."), Charsets.UTF_8);

显然番石榴包含的远不止这些。这种单一的方法并不值得,但它是实用程序类的积极宝库。Guava 和Joda Time是我离不开的两个库:)

于 2012-12-13T08:58:07.340 回答
2

使用扫描仪

File file = new File("filename");
Scanner sc = new Scanner(file);
System.out.println(sc.next()); //it will give you the first word

如果您有 int,float... 作为第一个单词,您可以使用相应的函数,例如 nextInt(),nextFloat()...等。

于 2012-12-13T08:58:23.113 回答
0

-使用InputStreamScanner读取文件。

例如:

public class Pass {

    public static void main(String[] args){

        File f = new File("E:\\karo.txt");
        Scanner scan;
        try {
            scan = new Scanner(f);


        while(scan.hasNextLine()){

            System.out.println(scan.nextLine());
        }

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

    }
}

- Guava图书馆精美而有效地处理这个问题。

于 2012-12-13T09:18:26.957 回答
0

使用 BufferedReader 和 FileReader 类。仅两行代码就足以读取一个单词/一行文件。

            BufferedReader br = new BufferedReader(new FileReader("Demo.txt"));
    System.out.println(br.readLine());

这是一个小程序。空文件将导致打印“null”作为输出。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

 public class SmallFileReader
       public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new FileReader("Demo.txt"));
            System.out.println(br.readLine());  
   }
 }
于 2012-12-13T09:57:30.300 回答
0

高效是指性能方面还是代码简单(懒惰的程序员)?

如果是第二个,那么我所知道的一切都比不上: String fileContent = org.apache.commons.io.FileUtils.readFileToString("/your/file/name.txt")

于 2012-12-13T08:59:36.290 回答