0

ファイルを読み取って各行をスキャンする方法を考えていましたが、各行の内容を Char 変数と Double 変数に分けました。

例:

テキストファイル「Sample.txt」を開くコードを書いたとしましょう。最初の行を読み取るには、次のコードを使用します。

 while(fin.hasNext())
         {

            try{

                inType2 = fin.next().charAt(0);

                inAmount2 = fin.nextDouble();
           }

このコードは基本的に、次の行がある場合、次の char を inType2 に、次の Double を inAmount2 に入れることを示しています。

私のtxtファイルが次のように書かれているとどうなりますか:

D    100.00
E    54.54
T    90.99

「D」を Char 変数に入力し、対応する Double または「100.00」をこの例では Double 変数に入力して、各行を読み取るにはどうすればよいでしょうか。

私が書いたコードは、次のtxtファイルを読み取るように感じます:

D
100.00
E
54.54
T
90.99

ファイルから行を読み取り、変数の型に応じて分離する効率的な方法を教えていただければ幸いです。Sample.txt には、常に最初に char があり、2 番目に 2 番目があります。

-マニー

4

2 に答える 2

1

BufferedReader行を読み取り、空白で分割するために使用します。

while((line=br.readLine())!=null){
    String[] arry = line.split("\\s+");
    inType2 = arry[0];
    inAmount2 = arry[1];
}
于 2015-10-14T02:17:59.213 に答える
0

whitespaceと で区切ることができます

    Scanner scanner = new Scanner(new File("."));
    while (scanner.hasNext()) {

        //If both on different lines
        c = scanner.next().charAt(0);
        d = scanner.nextDouble();

        //if both on same line
        String s = scanner.next();
        String[] splits = s.split("\\s+");
        if (splits.length == 2) {
            c = splits[0].charAt(0);
            d = Double.parseDouble(splits[1]);
        }
    }
    scanner.close();
于 2015-10-14T02:33:51.307 に答える