Tôi đang cố gắng đọc một ký tự một dòng theo ký tự bằng cách sử dụng java.util.Scanner. Tuy nhiên tôi nhận được ngoại lệ này ":sử dụng java.util.Scanner để đọc byte tệp theo byte
Exception in thread "main" java.util.InputMismatchException: For input string: "contents of my file"
at java.util.Scanner.nextByte(Scanner.java:1861)
at java.util.Scanner.nextByte(Scanner.java:1814)
at p008.main(p008.java:18) <-- line where I do scanner.nextByte()
Dưới đây là mã của tôi:
public static void main(String[] args) throws FileNotFoundException {
File source = new File("file.txt");
Scanner scanner = new Scanner(source);
while(scanner.hasNext()) {
System.out.println((char)scanner.nextByte());
}
scanner.close()
}
Có ai có bất kỳ ý tưởng như những gì tôi có thể làm sai
Edit: Tôi nhận ra tôi đã viết hasNext() thay vì hasNextByte() .Tuy nhiên nếu tôi làm điều đó nó không in ra bất cứ điều gì.
Máy quét để phân tích cú pháp đầu vào ký tự. Tôi nghi ngờ bạn cần một InputStream. –