ピーター:
私はデータをテキストファイルにはタブを使用して分離があります。私の目標は、異なる文字列へのデータのそれぞれをロードすることです。ABC ABCDE ABCDEFと私は3つの文字列があります:X、Y、Zをこのように私のテキストファイルのルックス。私の目標は、XにABCをロードするために、YにABCDEとABCDEF Zにスキャナーを使用して。しかし、私のコードは、単一の文字列、Xに3の全てをロードしています。どのように私は自分の目標を達成するのですか?感謝
私のコードは次のようになります。
public void Stringu(String file) {
Scanner sc = null;
String x;
String y;
String z;
try {
sc = new Scanner(new File(file));;
sc.useDelimiter("/t");
while (sc.hasNext()) {
x = sc.next();
y = sc.next();
z = sc.next();
}
} catch (FileNotFoundException e) {
System.err.println("file not found");
} finally {
if (sc != null) {
sc.close();
}
}
}
JAP:
ここでの解決策は非常に簡単です。2つのオプションがあります。
- 使用する
sc.useDelimiter("\t");
代わりに、バックスラッシュで/t
。バックスラッシュは、(この場合はタブです)特殊文字を意味します。 - オプション2、行を削除し
sc.useDelimiter("\t");
、すべて一緒に。ので、あなたはそれを行うことができsc.next()
、既にデフォルトでは空白でコンテンツを分離します。