Я разрабатываю Java-апплет, который должен получить доступ к файловой системе посетителя, поэтому я сжал свой файл .class в файл .jar с самозаверяющим сертификатом, когда я открываю файл call.html в своем браузере (файл, в котором находится HTML-тег <applet> ), я принимаю всплывающее окно безопасности, тогда я получаю эту ошибку в консоли Java:
java.security.AccessControlException: доступ запрещен (запись java.io.FilePermission output.txt)
Я использую FileInputStream и FileOutputStream. FileInputStream работает, а FileOutputStream нет, почему?
Вот мой код:
try {
AccessController.doPrivileged(
new PrivilegedExceptionAction() {
@Override
public Object run() throws FileNotFoundException {
outFile = new FileOutputStream("output.txt");
inFile = new FileInputStream("input.txt");
return "test";
}
}
);
} catch (PrivilegedActionException e) {
throw (FileNotFoundException) e.getException();
}
Я пробовал много способов сделать привилегированные действия, FileInputStream всегда работает, а FileOutputStream - нет. output.txt не является файлом только для чтения.
user.home. Это место должно быть разрешено для надежного приложения. написать. Что на выходе? (Например, результаты игр, платежная запись клиента..) - person Andrew Thompson   schedule 05.05.2012user.home? Netbeans показывает мне эту ошибку: Не удается найти символ: пользователь. - person user1376701   schedule 05.05.2012outFile = new FileOutputStream(System.getProperty("user.home")+"/output.txt");я получаю эту ошибку: java.security.AccessControlException: доступ запрещен (чтение java.util.PropertyPermission user.home) - person user1376701   schedule 05.05.2012FileOutputStream(System.getProperty("user.home")+"/output.txt");Попробуйте изменить это наFile userHome = new File(System.getProperty("user.home")); File output = new File(userHome, "output.txt"); FileOutputStream(output);- person Andrew Thompson   schedule 05.05.2012