Java scanner 类读取文件失败,如何解决?
在使用 java scanner 类读取文本文件时,若遇到读取失败的情况,尽管未提示文件打不开,可能存在以下问题:
1. 编码问题
如果文本文件中的内容为汉字而读取不出来,尝试在创建 scanner 对象时指定编码,例如:
立即学习“Java免费学习笔记(深入)”;
scanner scanner = new scanner(file, "utf-8");
2. 路径问题
确保传入的 file 对象表示的文件路径正确,即文件存在于指定的路径中。
3. 文件权限问题
确认您拥有读取文件所需的权限,并且文件未被其他程序锁定。
4. 系统限制
某些操作系统可能对打开的文件数量或文件大小有一定限制,导致无法读取文件。
示例代码
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class ScannerTest { public static void main(String[] args) { try { // 创建 File 对象,表示要扫描的文件 File file = new File("D:DocumentSummarylearningtest.md"); // 创建 Scanner 对象,指定 UTF-8 编码 Scanner scanner = new Scanner(file, "utf-8"); while (scanner.hasNextLine()) { // 判断文件中是否有下一行 String line = scanner.nextLine(); // 读取文件中的下一行 System.out.println(line); // 打印读取的行 } scanner.close(); // 关闭 Scanner 对象 } catch (FileNotFoundException e) { System.out.println("文件不存在!"); } } }