【问题标题】:Filewriter works in IDE but not in cmd despite no errors [closed]Filewriter 在 IDE 中工作,但在 cmd 中工作,尽管没有错误 [关闭]
【发布时间】:2021-04-14 00:12:15
【问题描述】:

我刚刚尝试了各种文件编写器代码,它们在 IDE 上运行良好,但是当我尝试在 cmd 上运行时,它们却无法运行。我的意思是 system.out.println 字符串显示,但 filewriter.write 不写入文件。


public class filewriter {
    public static void main(String[] args) {
        String output = "This is the data in the output file";
        System.out.println(output);
        try {
            FileWriter fw = new FileWriter("./output.txt");
            fw.write(output);
            fw.close();
        }
        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

这是我尝试过的基本代码。它在 ide 上工作正常,但在 cmd 上不起作用 我正在使用这个命令

javac filewriter.java
java filewriter

command line

dir after commands

我该如何解决这个问题?

【问题讨论】:

  • "not works on cmd"是什么意思?您是否收到任何类型的错误消息?请澄清并提供一些细节。因不清楚而被否决,因需要调试细节且无法复制而投票关闭。见How to Ask,谢谢。
  • 我的意思是当我在终端上运行此代码时不会写入文件
  • 没有错误信息?您确实看到了System.out.println 输出并创建了一个文件但该文件为空?或者根本没有创建文件?或者代码是否因异常而崩溃?或者您甚至不能执行代码并从javac 或java 收到错误消息?执行此操作时,您的 cmd 在哪个文件夹中?你能分享一下你的cmd终端的截图吗?您必须提供准确的细节,否则我们无法为您提供帮助。
  • 您发布的代码应该可以正常工作。当您从终端使用它时,您是否看过 ./output.txt 所指的?它可能会写入与您从 IDE 执行时不同的文件
  • 请注意,您调用e.getStackTrace() 并且不对输出做任何事情。相反,您应该致电e.printStackTrace()。我的怀疑是写作出了问题,您根本不打印异常消息。

标签: java filewriter


【解决方案1】:

我的 ide 和 cmd 上的 Java 版本不同。我改变了它,它现在可以工作了

【讨论】:

    【解决方案2】:

    从文件路径中删除./

    FileWriter fw = new FileWriter("output.txt");
    

    【讨论】:

    • 如果您能解释一下为什么您认为这会有所作为,将会有所帮助。
    • 它也不起作用。可能问题出在我的 cmd 上,因为它在其他计算机 cmd 上运行良好
    猜你喜欢
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2021-08-27
    相关资源
    最近更新 更多