FileWriter根本不写入文件,但不会抛出异常

问题描述 投票:-1回答:1

我正在尝试使用FileWriter将一些文本写入文件。该程序在运行时不会引发任何异常,除了本来打算的那些异常(写入文件是引发异常的一部分),但文件留为空白。该文件与包含异常的.java文件和引发异常的.java文件位于同一目录中。

我正在正确地刷新并关闭FileWriter对象,它位于try / catch块中,该块应该打印代码遇到的任何异常,我尝试将PrintWriter与FileWriter作为参数,以及该方法的其他部分一起使用绝对执行。

NegativeBalanceException() throws IOException{
        super("Error:negative balance");
        try {
        FileWriter logger = new FileWriter("logfile.txt", false);
        logger.write("Error:negative balance");
        logger.flush();
        logger.close();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }

我希望文件包含消息“金额超出余额-100.0”和“错误:负余额”。肯定会创建异常,我可以在其上调用getMessage()来打印上述两条消息。但是,该文件开始为空白,并且在程序完成后仍然为空白。

java filewriter printwriter file-writing
1个回答
0
投票

我已经找到了解决方案。我在Eclipse中工作,似乎相对路径从程序的工作目录开始,而不是我假设的src目录(以及放置文件的位置)。我使Java在错误的位置查找文件。

© www.soinside.com 2019 - 2024. All rights reserved.