我试图将文本文件(输入和输出文件)作为try-catch
块内的命令行参数传入。
这是代码的片段:
try {
PrintWriter outFile = new PrintWriter(new FileOutputStream(args[0]));
} catch (FileNotFoundException exc) {
System.out.println("file does not exist");
} catch (Exception e) {
System.out.println("general exception");
}
我试图通过传递一个不存在的文件来检查它,但它似乎不起作用,即使在一般例外情况下也是如此。我也试过printStream
,但没有真正改变。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
首先从文本
创建文件 File inputFile = new File(args[0]);
现在使用inputFile.exists()
检查是否存在文件,如果文件存在,则会boolean
结果为true
,如果不存在,则为false
另外,您还想检查目录,因为如果输入路径是目录(文件夹),inputFile.exists()
也会返回true
所以你的支票看起来像是
if(inputFile.exists() && ! inputFile.isDirectory()) // ! mean not/complement operator
{
// yes it's a file
}
为什么补充?因为如果输入表示文件而非目录
,我们只想更进一步