JAVA RandomAccessFile вызывает исключение IOException при построении


Я пытаюсь получить доступ к файлу, чтобы прочитать его и написать на нем, используя этот код:

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

Он возвращает мне ошибку " файл не найден (IOException)".

Файл существует, и он находится именно в этой папке. Чего мне не хватает?

1 2

1 ответ:

Если вы не запустите приложение 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)

Конструкторjavadoc for RandomAccessFile утверждает следующее:

FileNotFoundException - если режим "r", но данная строка делает не обозначает существующий обычный файл, или если режим начинается с "rw" но данная строка не обозначает существующий, доступный для записи регулярн файл и новый обычный файл с таким именем не может быть создан, или если некоторые другая ошибка возникает при открытии или создании файла

Просто переместите файл в другое место, например C:\Users\You.