我試圖從文件中提取整數並將它們寫入某些情況以免我必須複製和粘貼這麼多。以下是我有:從文件中讀取整數並將它們重寫爲新文件
public class PullFrom {
public static void main(String[] args) throws IOException {
Scanner input = new Scanner(new File("PullFrom.txt"));
BufferedWriter out = new BufferedWriter(new FileWriter("OutPutFile.txt", true));
int ID;
while (input.hasNextLine()) {
ID = input.nextInt();
for (int i = 0; i < 1; i++) {
try {
out.write("case " + ID + ":");
out.newLine();
out.write("setRandomWalk(false);");
out.newLine();
out.write("break;");
out.newLine();
} catch (IOException e) {
System.out.println("Cannot Do It");
e.printStackTrace();
}
}
}
out.close();
input.close();
}
}
在Eclipse我在控制檯收到此:重複
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at reader.PullFrom.main(PullFrom.java:17)
這個錯誤本身在控制檯幾次。隨着我的「不能做」文本。
這是我的「PullFrom.txt」文件的一個例子:
524
1988
7823
6723
最後,什麼程序產生在我的輸出文件:
case 524:
setRandomWalk(false);
break;
這似乎是正確的,但它只打印出第一個int ..
在你的for循環中你有我<1,所以當然它只能做一行。我只是刪除for循環。 – coderrick
for循環在while循環中,如果我將for循環更改爲循環10次,它將一遍又一遍地循環同一個整數,而不是在下一行上抓取新的循環。 –
如果你有很多具有相同操作的例子,使用C,C++,Java等語言,你可以把所有的case標籤放在一起 - 沒有必要寫'setRandomWalk(false); break;'more比一次。你不需要編寫一個程序來實現這一點 - 通常IDE的搜索和替換將會很好。 – RealSkeptic