Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java文件读取器不工作,它不会运行代码_Java_File_Io_Writer - Fatal编程技术网

Java文件读取器不工作,它不会运行代码

Java文件读取器不工作,它不会运行代码,java,file,io,writer,Java,File,Io,Writer,我有一个程序,需要读取JComboBox中不同选定项的不同文件。我已经让JComboBox和所有东西都工作了,但是现在当我尝试调用Course_加载程序代码时,它不会运行。下面是我尝试调用它的代码: public static String CourseName; public static String PlayerName; public Start_round(){ try { Course_loader cl = new Course_loader();

我有一个程序,需要读取JComboBox中不同选定项的不同文件。我已经让JComboBox和所有东西都工作了,但是现在当我尝试调用Course_加载程序代码时,它不会运行。下面是我尝试调用它的代码:

    public static String CourseName;
public static String PlayerName;
public Start_round(){
    try {
        Course_loader cl = new Course_loader();
        cl.loadCourse(CourseName);
    } catch (IOException e) {
    }
下面是文件读取器的代码:

    import java.io.*;
    public class Course_loader {
public static String holes;
public void loadCourse(String s) throws IOException{
    File f = new File("courses\\"+s+".txt");
    BufferedReader reader = new BufferedReader(new FileReader(f));
    holes = reader.readLine();
    reader.close();
    System.out.println("it ran");
}
}

当我调用代码时,它不会打印出“它运行了”。我自己检查过我的代码,但我对文件阅读器的东西还不熟悉。请帮忙。提前谢谢

哦,文件就在那里,里面有这些字

    test

当它试图打印字符串时,它是空的,这证明文件没有运行。

您正在默默地忽略
IOException

Start\u round
中的异常处理更改为:

try
{
    // your "load course" code ...
}
catch (IOException e)
{
    e.printStackTrace();
}
这将生成一些输出,让您了解
FileReader
代码的错误,例如,文件未找到问题


另一个提示:始终将您的
阅读器.close()放入
finally
块中。在您的情况下,这意味着在
loadCourse
方法中执行一些特定的异常处理。搜索java filereader,以及类似的搜索以寻找最佳实践。另外,做一些学习异常的工作,如果你不太了解这些内容,尝试/catch/最后。

你正在默默地忽略
IOException

} catch (IOException e) {
}
Start\u round
中的异常处理更改为:

try
{
    // your "load course" code ...
}
catch (IOException e)
{
    e.printStackTrace();
}
这将生成一些输出,让您了解
FileReader
代码的错误,例如,文件未找到问题

另一个提示:始终将您的
阅读器.close()放入
finally
块中。在您的情况下,这意味着在
loadCourse
方法中执行一些特定的异常处理。搜索java filereader,以及类似的搜索以寻找最佳实践。另外,做一些学习异常的工作,如果你不太理解这些东西,那么试试/catch/finally

} catch (IOException e) {
}
你的问题就在那里。永远不要那样做。至少要记录异常。你假装什么都没出问题,现在你想知道为什么它不起作用


你的问题就在那里。永远不要那样做。至少要记录异常。你假装什么都没出问题,现在你想知道为什么它不起作用。

没有抛出异常?如果从未到达System.out代码,则在执行该代码之前可能会引发异常。是否不会引发异常?如果从未到达System.out代码,则在执行该代码之前可能会引发异常。太好了。在finally中查看我对close()的编辑。查找到示例代码的链接,以获得更全面的java.great文件读取模式。在finally中查看我对close()的编辑。查找到示例代码的链接,以获得更全面的java文件读取模式。