は、だから私のコードでは、私は次のようにあるファイルの読み取りしようとしています:セミコロンで区切られたファイルから整数を読み取る方法は?
100
22
123;22
123 342;432
が、それはそれが含まれるであろう出力したときに「;」を(例えば、100,22,123; 22,123,342; 432})。 ファイルを配列(例:{100,22,123,22,123 ...})にしようとしています。 ファイルを読む方法はありますか?セミコロンは無視しますか? ありがとう!
public static void main(String args [])
{
String[] inFile = readFiles("ElevatorConfig.txt");
for (int i = 0; i <inFile.length; i = i + 1)
{
System.out.println(inFile[i]);
}
System.out.println(Arrays.toString(inFile));
}
public static String[] readFiles(String file)
{
int ctr = 0;
try{
Scanner s1 = new Scanner(new File(file));
while (s1.hasNextLine()){
ctr = ctr + 1;
s1.next();
}
String[] words = new String[ctr];
Scanner s2 = new Scanner(new File(file));
for (int i = 0 ; i < ctr ; i = i + 1){
words[i] = s2.next();
}
return words;
}
catch(FileNotFoundException e)
{
return null;
}
}
セミコロンを無視したくない場合は、セミコロンをスペースのようにセパレータとして扱いたいとします。 '123; 22'のセミコロンを無視すると、' 12322'になります。 –
BTWは、コードをコンパイルするだけで例外が発生しなかったとは決して判断しません。あなたが何か役に立つものをやろうとしているときにのみ例外を処理します。 –
next()の代わりにnextInt()を試してください。 –