2013-03-20 4 views
2

Я пытаюсь создать файл в папке C: \ Program Files с помощью javaFX, но он покажет мне ошибку отказа в доступе.JavaFx: java.io.FileNotFoundException (Доступ запрещен)

Это пример кода.

FileWriter fstream = new FileWriter("C:\\Program Files (x86)\\My Folder\\my_file.txt"); 
BufferedWriter out = new BufferedWriter(fstream); 
out.write("Hello!"); 

Это ошибка, которую я нашел во время работы приложения.

java.io.FileNotFoundException: C:\Program Files (x86)\My Folder\my_file.txt (Access is denied) 
    at java.io.FileOutputStream.open(Native Method) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:212) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:104) 
    at java.io.FileWriter.<init>(FileWriter.java:63) 

Я не знаю, как разрешить моему приложению получать все необходимые разрешения на создание файлов в указанном месте. Пожалуйста, помогите мне с достаточным количеством кодов и информации.

+0

Возможно, вы можете попробовать найти другое место, например «Мой документ». Это работает? какую версию окон вы используете? XP? Выиграть 7? Выиграть 8? как вручную создать файл с помощью Windows Explorer? –

+0

Проверьте, есть ли у вас необходимый доступ для создания файла в указанном месте. Также добавьте очистку содержимого после написания на писателе 'out.flush(); fstream.close(); '. Этот код должен работать. – Meherzad

+0

@ DanielRobertus, я хочу использовать каталог, в котором установлено приложение. Эта ошибка, которую я нашел в win7, но мне нужно сделать ее для всех os (Mac и Windows) –

ответ

1

Если вы явно не отключили UAC, вы не сможете написать Program Files. ОС не позволит защитить вашу систему.

+0

в любом случае сделать это программно, может быть только для вашего приложения ??? –

+1

@ Jim Garrison: будет ли это работать? и, пожалуйста, скажите мне, как это сделать? –

+0

Нет, для отключения UAC требуется вмешательство администратора. В этом весь смысл UAC. В системе Linux вы не можете писать в '/ bin', если у вас нет доступа root. То же самое относится к Win7 и более поздним версиям. –

Смежные вопросы