Код, показанный ниже, должен читать каждую строку отдельно из текстового файла, сохранять текущую строку в String fileLine и затем распечатывать содержимое fileLine
Когда текстовый файл содержит только one строка, код выполняется как описано, печатает строку. Однако, когда текстовый файл содержит больше, чем одну строку, оператор ' while (s c .hasNextLine ()) ' полностью пропускается, из-за чего я почесал голову как Я использую аналогичную версию этого кода для чтения из других текстовых файлов в том же проекте.
Код
private File stockFile = new File(stockFilePath);
public void fetchCurrentStock() throws FileNotFoundException {
Scanner sc = new Scanner(stockFile);
String fileLine = "";
//Name\tPrice\tDescription\tSupplierName\tItemImagePath\tItem_ID\tQuantity
while(sc.hasNextLine()){
fileLine = sc.nextLine();
System.out.println(fileLine);
}
}
Содержание текстового файла
Samsung Galaxy S20+ 999 Samsung's latest & greatest PhonesHub null 001 20
Samsung Galaxy A10 130 Capture clear photos, in any light. Watch, play and browse more on the 6.2 inch HD+ display. PhonesHub null 002 25
Samsung Galaxy S10 750 Last years base flagship model, great power at a respectable price. PhonesHub null 003 30
Huawei P30 380 Take your photography to the next level with the P30’s triple camera & 6.1 inch display. PhonesHub null 004 15
Обновление: оно Кажется, что когда в текстовом файле меньше текста на строку, Scanner.nextLine () работает как задумано. Возможно, использование класса Scanner здесь не вариант?