0

私はファイルを持っています、私はファイルが常に1つの単語だけを含むことを知っています。では、このファイルを読み取るための最も効率的な方法は何でしょうか。

小さなファイル用の入力ストリームリーダーも作成する必要がありますか、または他に利用できるオプションはありますか?

4

5 に答える 5

3

さて、何かがバイトを文字に変換する必要があります。

個人的には、Guavaを使用することをお勧めします。これにより、次のような記述が可能になります。

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

明らかに、グアバにはこれだけではありません。この単一のメソッドには価値がありませんが、ユーティリティクラスの宝庫です。GuavaとJodaTimeは、私がなくてはならない2つのライブラリです:)

于 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

効率的とは、パフォーマンス面またはコードの単純さ(怠惰なプログラマー)を意味しますか?

それが2番目の場合、私が知っていることは何も勝っていません。 String fileContent = org.apache.commons.io.FileUtils.readFileToString("/your/file/name.txt")

于 2012-12-13T08:59:36.290 に答える
0

-InputStreamとを使用しScannerてファイルを読み取ります。

例えば:

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クラスを使用します。1ワード/1行のファイルを読み取るには2行のコードで十分です。

            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 に答える