Почему пишет отказано в доступе?

714
26 ноября 2016, 19:16

Добрый день, при попытке выгрузить из ресурсов в системный диск C:\

InputStream in = Main.class.getResourceAsStream("scr/resources/sp/Sp.exe"); 
DataInputStream din = new DataInputStream(in);
FileOutputStream outF = new FileOutputStream("C:/SP");
byte[] buffer = new byte[1024];
int count = 0;
while ((count=din.read(buffer)) != -1){ 
    outF.write(buffer,0,count);
}
outF.flush();
outF.close();

в созданную папку выдаёт такую ошибку:

Exception in thread "main" java.io.FileNotFoundException: C:\SP (Отказано в доступе)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at com4j_example.Main.main(Main.java:89)

и так с любым местом выгрузки.

Answer 1

Иногда такое происходит, когда вы пытаетесь писать в папку, а не в файл. Особенно C:/SP, без расширения файла похоже на папку. Проверьте, не имеет ли место быть эта ситуация и отпишитесь.

Answer 2
new FileOutputStream("C:/SP");

Windows запрещает запись в корень системного диска без админских прав.

А ещё подозрения вызывает направление слешей.

READ ALSO
Json array + object mapper

Json array + object mapper

Имеем json

389
Трансляция с камеры в WebView

Трансляция с камеры в WebView

Задача: надо сделать отображение камеры в webviewЧто пришло на ум: использовать MediaRecorder для записи видео в сокет

288
Как избавиться от ООМ при работе с Bitmap?

Как избавиться от ООМ при работе с Bitmap?

Я работаю с Bitmap и рабочий процесс выглядит так

307
транслировать в Java 8 stream

транслировать в Java 8 stream

Есть вот такой метод

371