是否可以检查应用程序是否可以创建文件?

时间:2015-08-13 09:49:07

标签: java file

我正在从用户那里获取路径。我想验证路径,就像我的程序能够在给定位置创建文件,但约束是执行验证我无法在该位置创建文件。

由于各种原因(例如

),文件创建可能会失败
  1. 文件已存在。
  2. 应用程序无权创建文件
  3. 内存问题。
  4. 是否可以在不创建文件的情况下检查此内容。

2 个答案:

答案 0 :(得分:3)

总之,没有。

此表单的任何问题的答案是执行实际操作并处理导致的错误(如果有的话)。

试图预测它是否会成功只不过是算命。

无论如何你仍然需要编写错误处理代码。

答案 1 :(得分:1)

文件提供了大部分功能,见下面的例子

File file = new File("c:\\myfile.txt");
System.out.println("Does file exist "+file.exists());
if(!file.exists())
    file.createNewFile();
System.out.println("Can Read " + file.canRead());
System.out.println("Can Write " + file.canWrite());
System.out.println("Can Execute " + file.canExecute());
System.out.println(file.getFreeSpace());

但是如果没有文件创建,我认为你不能直接看到文件权限。

但大多数情况下,如果您对该文件目录具有权限,则只能创建文件,以便检查该文件目录的权限。如果存在权限,则可以在该目录中创建文件。

File dir = file.getParentFile();    
System.out.println("Can Read " + dir.canRead());
System.out.println("Can Write " + dir.canWrite());
System.out.println("Can Execute " + dir.canExecute());      
System.out.println(dir.getFreeSpace());