Java FileNotFoundException在CMD中编译时,但在NetBeans中工作
以下是我遇到问题的代码部分:Java FileNotFoundException在CMD中编译时,但在NetBeans中工作,java,netbeans,file-io,Java,Netbeans,File Io,以下是我遇到问题的代码部分: java.io.File file = new java.io.File("src\\translate.txt"); 当我在NetBeans中编译这段代码时,我的代码编译和运行得非常好,但是,当我将.java文件复制到我的家庭作业文件夹并将目录更改为我的家庭作业文件夹时,它会编译,但它会给我以下错误消息: 线程“main”java.io.FileNotFoundException:中出现异常。\translate.txt(系统找不到指定的路径) 无论我是使用“\
java.io.File file = new java.io.File("src\\translate.txt");
当我在NetBeans中编译这段代码时,我的代码编译和运行得非常好,但是,当我将.java文件复制到我的家庭作业文件夹并将目录更改为我的家庭作业文件夹时,它会编译,但它会给我以下错误消息:
线程“main”java.io.FileNotFoundException:中出现异常。\translate.txt(系统找不到指定的路径)
无论我是使用“\\translate.txt”放置整个目录(即C://Users…等),还是以任何其他方式将其包含在内,都会显示此消息
对我来说非常奇怪的是,如果我将CMD中的目录更改为NetBeans创建的项目目录并从那里编译.java文件,那么如果我将代码更改为“\\translate.txt”,它将通过CMD工作。
正如@JBNizet所指出的,在CMD中键入dir显示文件扩展名两次应用于“translate.txt”文件。这意味着文件的实际名称是“translate.txt.txt”,在修复该问题并将代码更改回其原始状态后,该文件已完全运行 这一切都是关于使用文件的正确路径。对于只读工作,最好不要使用文件,而是使用jar文件中嵌入的资源。因此,如果在执行
java PigLatin
之前键入dir
,输出是什么?@JBNizet你用它救了我的命。实际的“translate.txt”文件被保存为“translate.txt.txt”。修改代码以反映这一点后,它就可以工作了。清理完扩展后,它就可以用我的原始代码完全运行了。非常感谢你。