Java чете txt.file - достъпът отказан?

Създадох txt файл, който записах в Моите документи на моя компютър. Опитвам се да прочета файла txt през FileReader и BufferedReader. Въпреки това, когато се опитам да стартирам програмата, получавам съобщение за грешка:

java.io.FileNotFoundException: <filelocation> (Access is denied)

Някой знае ли какво причинява това и как мога да отстраня проблема? Опитах се да запазя документа и на други места, но винаги получавам това съобщение. Сигурен съм, че пътят на файла е въведен правилно.


person Kristian    schedule 25.10.2011    source източник
comment
Мисля, че това изключение казва всичко FileNotFoundException. Можете ли да покажете кода, моля?   -  person Yaroslav Boichuk    schedule 25.10.2011
comment
Това може да помогне: stackoverflow.com/questions/ 4281143/   -  person G_H    schedule 25.10.2011
comment
Можете ли да добавите съответния код за мястото, където осъществявате достъп до файла? Във вашето съобщение за изключение също липсва известна информация (т.е. името на файла) ... можете ли да добавите и пълното проследяване на стека?   -  person CoolBeans    schedule 25.10.2011
comment
Благодаря ви за коментарите Що се отнася до цялото съобщение за грешка, то е както следва: Грешка при четене: java.io.FileNotFoundException: C:\Users\Kristian\Documents (Достъпът е отказан). По-голямата част от кода ми обаче не е написан на английски, така че ще ми трябва известно време, ако желаете, за да поставя кода в неговата цялост. Може би мога да опитам някои от методите, предложени във връзката, предоставена от G_H   -  person Kristian    schedule 25.10.2011
comment
Затваряте ли правилно потока след четене? C:\Users\Kristian\Documents (Достъпът е отказан) изглежда, че имате проблеми с интервалите в пътя. Моля, публикувайте реда, където е създадено името на файла.   -  person Stephan    schedule 25.10.2011


Отговори (4)


Едно произволно предположение е, че може да имате няколко стартирани екземпляра на вашата тестова програма, така че файлът е заключен от по-ранен екземпляр на вашата програма, който все още работи. Можете да проверите отворените конзоли в Eclipse или можете да рестартирате Eclipse.

person Ashwinee K Jha    schedule 25.10.2011
comment
Благодаря много. Това наистина помогна! Единственото нещо сега е, че получавам нещо малко загадъчно в разпечатката. Разпечатката ми гласи: Ученик 20: 30,4 Ученик 19: 87,6 Ученик 21: 91,34 Символите  обаче не трябва да се показват. Какво може да причини това? - person Kristian; 25.10.2011
comment
Възможно е вашият файл да има някакъв знак, който конзолата на eclipse не поддържа. Можете да конфигурирате кодирането за конзолата в диалоговия прозорец за изпълнение. Можете ли да актуализирате въпроса със съдържанието на файла и програмата, в случай че проблемът продължава. - person Ashwinee K Jha; 25.10.2011
comment
здрасти Благодаря отново. Опитах да отворя файла в друга програма Eclipse, която използвам и за четене на текстови файлове, и тук всичко върви гладко. По този начин, тъй като сега мога да стартирам файла правилно тук, мисля, че просто ще го оставя така. Все пак наистина оценявам вашата помощ! - person Kristian; 25.10.2011

java.io.FileNotFoundException: C:\Users\Kristian\Documents (Достъпът е отказан)

Опитвате се да прочетете директория, а не .txt файл.

person user207421    schedule 25.10.2011

може да има 2 вида проблеми.

  1. вашият път съдържа място в името на папката или файла. можете да го разрешите, като използвате името на файла, различно от 8dot3, като използвате командата dir /p /x в командния ред на този път на папката.
  2. можете да запишете формуляра в папката на вашия проект и да използвате относителен път ./txt.file. ако имате файла под път, да речем <project folder>/input/txt.file, вашият относителен път ще бъде ./input/txt.file. Ако това не работи, опитайте да търсите в гугъл кода за четене на файлове и ще разберете грешката си.
person Naveen Babu    schedule 25.10.2011
comment
Благодаря много. Оценявам вашите съвети. Заедно с помощта по-горе, сега мога да стартирам това правилно в една от моите програми Eclipse. - person Kristian; 25.10.2011
comment
@EJP Моля, намерете обосновка за моя отговор File file = new File(./ src/CollectionUtils.java); System.out.println(file.getAbsolutePath() + file.isFile()); Файл файл1 = нов файл(./src/CollectionUtils.java); System.out.println(file1.getAbsolutePath() + file1.isFile()); **примерен изход ** /Users/nbabu/workspace/FunProject/./ src/CollectionUtils.javafalse /Users/nbabu/workspace/FunProject/./src/CollectionUtils.javatrue - person Naveen Babu; 26.09.2017
comment
@NaveenBabu Какъв отговор? Нито една от точките във вашия отговор не идентифицира действителния проблем и бъркотията в кода във вашия коментар остава необяснена. - person user207421; 05.11.2018

Възможно е да трябва да промените настройките за сигурност на вашата папка. Отидете в директорията, щракнете с десния бутон върху свойствата, изберете Защита, напредъци и промяна на разрешението, така че всички дъщерни зависимости да наследят промените в защитата.

person user3621271    schedule 28.03.2015