【发布时间】:2020-03-25 23:58:44
【问题描述】:
我正在尝试创建一个读取 .java 文件然后将每一行放入 ArrayList 的程序:
import java.util.ArrayList;
import java.util.Scanner;
import java.io.IOException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
class H01_43 {
public static void main(String[] args) {
Scanner userInput = new Scanner( System.in );
System.out.println("Please enter the file name.");
String fileName = userInput.nextLine();
TextFile file1 = new TextFile();
file1.createArray(fileName);
userInput.close();
}
}
class TextFile{
public TextFile(){
}
public void createArray(String pFileName){
String currentLine = "";
ArrayList<String> mList = new ArrayList<>();
try{
Scanner userFile = new Scanner(newFile(pFileName));
while(userFile.hasNextLine()){
currentLine = userFile.nextLine();
mList.add(currentLine);
}
}catch(FileNotFoundException exception){
e.printStackTrace();
}finally{
userFile.close();
}
}
}
我不断收到以下错误消息:
线程“main”java.lang.Error 中的异常:未解决的编译 问题:
未处理的异常类型 FileNotFoundException在 TextFile.createArray(H01_43 将 java 文件制作成 txt file.java:47)
at H01_43.main(H01_43 将java文件转成txt file.java:27)
我尝试与一位导师合作,他说我的代码看起来不错,但不知何故我继续生成此错误,因此无法编译或测试我的代码。
【问题讨论】:
-
欢迎来到 Stack Overflow。首先要做的是关闭任何允许您运行无法编译的代码的功能。这几乎从来都不是一个好主意——在这种情况下,它会让人感到困惑,因为你遇到了一个异常(这通常是由于在执行时发生了一些不好的事情),但真正的原因是你的代码无法编译。不幸的是,由于不同原因,您向我们展示的代码无法编译——您没有向我们展示
newFile方法。仔细查看编译错误 - 您的 IDE 应该可以帮助您查明它们的位置。在尝试运行之前将它们全部修复。 -
显示完整代码
-
我花了比我承认的时间更长的时间来解决这个问题。但是,我认为最大的问题之一是 VS Code(或者我无法正确使用它)。因为在进行更改后,我的代码能够在使用命令提示符窗口时编译和运行,但在 VS Code 中使用 powershell 时却不能。有人知道为什么吗?
标签: java exception filenotfoundexception