JAVA RandomAccessFile在构造时抛出IOException

时间:2013-08-27 22:48:53

标签: java ioexception randomaccessfile

我正在尝试访问一个文件来读取它并使用以下代码在其上写入:

RandomAccessFile file1 = new RandomAccessFile("C:\\lol.txt", "rw");

它返回一个错误“File not Found(IOException)”。

该文件存在且位于该文件夹中。我错过了什么?

1 个答案:

答案 0 :(得分:3)

除非您以管理员身份运行Java应用程序,否则您将无法获得C:的写入权限。

以下代码

public static void main(String[] args) throws Exception {   
    RandomAccessFile file1 = new RandomAccessFile("C:\\lol.txt", "rw");
}

会给你

Exception in thread "main" java.io.FileNotFoundException: C:\lol.txt (Access is denied)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(Unknown Source)
at java.io.RandomAccessFile.<init>(Unknown Source)
at Test.Main.main(Main.java:79)

RandomAccessFile构造函数的javadoc说明了这一点:

  

FileNotFoundException - 如果模式为“r”但给定的字符串确实   不表示现有的常规文件,或者模式以“rw”开头   但是给定的字符串不表示现有的可写常规字符串   文件和该名称的新常规文件无法创建,或者如果有的话   打开或创建文件时发生其他错误

只需将文件移至其他位置,例如C:\Users\You