java - 为什么我在 Java 中收到有关 Windows 文件路径的错误?
问题描述
java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)
at parker.MovieLibrary.<init>(MovieLibrary.java:22)
at parker.SelectorUserInput.main(SelectorUserInput.java:10)
尝试打开文件时出现“
”错误。
下面是给我带来麻烦的 MovieLibrary 构造函数的代码:
public MovieLibrary() {
String FILENAME = "\\Users\\FirstName LastName\\Desktop\\JavaIndividualAssignment\\FinalMovieList1.txt";
Scanner input = new Scanner(FILENAME);
File file = new File(input.nextLine());
String[] split;
try {
File file1 = new File(input.nextLine());
input = new Scanner(file1);
while (input.hasNextLine()) {
String line = input.nextLine();
//code to add movies to an ArrayList
}
//input.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
finally{
if (input != null){
input.close();
}
}
}
}
我厌倦了这里列出的所有建议:Java File Path Windows/Linux ,但没有一个有效。我每次都遇到同样的错误。我用单个正斜杠替换了反斜杠,尝试使用 Path 对象,没有改变错误。
这是我的文件路径的问题吗?我在另一台计算机上使用了相同的文件打开代码,它发现文件很好。
下面是
解决方案
您正在构建文件名字符串(\Users 等)的 Scanner 对象。很确定您要创建字符串的 File 对象和该 File 对象的 Scanner 对象。
推荐阅读
- c# - IQueryable vs IEnumerable - 有多少数据库调用?
- python - 在 for 循环中从数据框中打印每个唯一值的值
- java - 使用单个字符串变量在 @Requestparam 中传递多个键
- django - 在 url 中使用 ManyToManyField 作为 slug
- javascript - 在 Angular 7 中,如何从英语 (LTR) 加载阿拉伯语 (RTL) 的 CSS
- ssh - 基于xtermjs的vi中的字符重叠
- c# - 调用函数 AddJwtBearer(jwtBearerScheme, o => { }); 后如何设置 JwtBearerOptions 在 asp.net 核心中有空选项?
- javascript - 在不同的 HTML 页面之间传递数据
- android - Android指纹管理器.hasEnrolledFingerprints()总是在marsmallow android中返回false
- android - RecyclerView.onLayout() 检测到 IndexOutOfBoundsException 不一致