次のコードでは、次の入力を最初はスペースで区切られた2つの文字列に分割しようとしています。.split( '')Javaの空白行を作成する
入力:
3413289830 a-bcdefghij
776 a+bc
プログラム:
import java.io.*;
import java.util.Scanner;
public class StringOut
{
public static void main(String[] args) throws IOException
{
File file = new File("C:\\test.txt");
Scanner in = new Scanner(file);
String line;
while (in.hasNextLine() == true)
{
line = in.nextLine();
String parts[] = line.split(' ');
System.out.println(parts[0]);
}
}
}
出力:あなたが見ることができるよう
3413289830
776
ので、空白行は、コード内の二回目に出力されますwhileが実行されます。この空白行は明らかに私のwhileループの範囲内のいくつかのコードから来ているので、私はしかし
in.nextLine();
を追加することによって、このエラーを回避することができ、私はこの余分なラインがどこから来ている知っていただきたいと思いますか?
いや、私は単なるテキストボックスにファイルを書き直し、事故によって '' を置き、中おっと実際のファイルは ""ですが、テキストファイルの入力には各行の最後に余分なスペースがありますが、左矢印キーを押すとそのまま残りますあなたが再びそれを打つまで、同じ位置にして次の行に移動しないでください。うまくいけば意味があります。また、whileセクションの先頭にはすでにin.nextLine()があります。 – Craig
私は正確なコードと私のために働いている入力を追加しました。また、私が言ったように、 'in.nextLine()'はとにかく必要です。そうでなければ、ファイルを読むことができません。それは完璧です。あなたの入力ファイルに何か間違っているはずです。 – Kajal
'hasNextLine()'はより多くの行があるかどうかをチェックするだけです。それは行を読んでいない。 – Kajal