Использование BufferedReader для вызова одного и того же файла в 2 отдельных классах дает исключение FileNotFoundException (доступ запрещен) - PullRequest
0 голосов
/ 19 ноября 2018

Итак, я пытаюсь создать простое банковское приложение для школьного проекта. Мой класс Authenticate берет имя пользователя и пароль, введенные в моем графическом интерфейсе, и читает файл, связанный с именем пользователя, с помощью BufferedReader.

public Authenticate(String user, String pw){
    username = user;
    password = pw;
}
public void Login() throws FileNotFoundException, IOException{
    try (BufferedReader read = new BufferedReader(new FileReader(fileLocation+username))) {
        String i;

        //Checking password
        i=read.readLine();
        pass = password.equals(i);
        //Checking if user is admin
        i=read.readLine();
        isAdmin = "manager".equals(i);
    }

}    

Где fileLocation - "C: \ Users \ rayle \ Desktop \ FinalProject \ BankProject \", а имя пользователя, скажем, cat. Затем первая строка в файле - это пароль, вторая строка - клиент или менеджер, а третья строка - сколько денег у них на счете. Эта часть работает отлично.

public Balance(String user){
    username = user;
}
public String getBalance() throws FileNotFoundException, IOException{
    try (BufferedReader read = new BufferedReader(new FileReader(fileLocation+username))) {
        String last=null, line;
        while((line=read.readLine()) != null){
            last = line;
        }   currentBal = last;
    }
    return currentBal;
}

Так что этот второй класс просто хочет прочитать сумму в учетной записи, но всякий раз, когда я пытаюсь, я получаю следующее исключение java.io.FileNotFoundException: C: \ Users \ rayle \ Desktop \ FinalProject \ BankProject (доступ запрещен). Если я использую (fileLocation + "cat") в BufferedReader, программа работает нормально.

1 Ответ

0 голосов
/ 19 ноября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...