我正在通過文件進行非常基本的循環。該文件包含許多條目,但是,它似乎在第三個循環之後中斷,該循環肯定包含超過25個字符。簡單的循環如下:處理字符串超出範圍例外
public static void organiseFile() throws FileNotFoundException {
ArrayList<String> lines = new ArrayList<>();
String directory = "C:\\Users\\hussainm\\Desktop\\Files\\ex1";
Scanner fileIn = new Scanner(new File(directory + "_temp.txt"));
PrintWriter out = new PrintWriter(directory + "_ordered.txt");
while (fileIn.hasNextLine() == true) {
if (!fileIn.nextLine().isEmpty()) {
lines.add(fileIn.nextLine());
String test = fileIn.nextLine().substring(12, 25);
System.out.println(test);
}
}
我不知道是什麼問題,但它不斷拋出:
異常線程「main」 java.lang.StringIndexOutOfBoundsException: 字符串索引超出的範圍:在25 java.lang.String.substring(未知 源)在 fedOrganiser.fedOrganiser.organiseFile(fedOrganiser.java:41)在 fedOrganiser.fedOrganiser.main(fedOrganiser.java:31)
不知道它的問題是什麼。
文件如下:
https://www.dropbox.com/s/69h1f8u387zikbp/ex1_temp.txt?dl=0
請編輯您的問題並添加您嘗試閱讀的文件的內容。 –
檢查您的C:\\ Users \\ hussainm \\ Desktop \\ Files \\ ex1_temp.txt文件。檢查每一行是否長達25個字符? –
每次檢查文件是否有下一行時,您還要調用nextLine()3次。 nextLine()返回**下一行**,每次調用它時。 –