我尝试从java.io.File
创建一个新文件,但它的方法createNewFile()
返回false(以及setWritable(true)
和mkdirs()
)。
是权限问题吗?我该如何改变这种行为?
额外信息:
File.exists()
返回true。
createNewFile()
不会抛出任何例外情况。
我运行的用户有权在目录中创建文件,但canWrite()
返回false。
此外,如果发生任何变化,我正在使用Eclipse。
答案 0 :(得分:2)
Javadoc它说只有在文件不存在的情况下才会创建新文件。 由于File.exists()返回true,表示文件存在,createNewFile将始终返回false,直到文件被删除。 java.io.File 当且仅当具有此名称的文件尚不存在时,以原子方式创建一个由此抽象路径名命名的新空文件。
一般情况下,如果您在软件中有权限问题,建议的解决方法是: