Я пытаюсь распечатать имена пользователей определенной программы в файл, но PrintWriter ничего не печатает в моем файле. Я пробовал все упомянутое в stackOverFlow, ни один из них не работал.Java: объект PrintWriter не выводит текст в моем файле?
Пользователи Класс
private File usersListFile;
private PrintWriter usersListPrintWriter;
private Scanner usersListScanner;
Конструктор
Users(){
try {
this.usersListFile = new File("D:\\Dairy\\usersList.txt");
if(usersListFile.exists()){
this.usersListPrintWriter = new PrintWriter(new BufferedWriter(new FileWriter("D:\\Dairy\\usersList.txt", true)));
this.usersListScanner = new Scanner("D:\\Dairy\\usersList.txt");
}
else
System.err.println("File does not exist !");
}
catch(Exception e){
System.err.println("Error: Users Class!");
}
}
Метод:
public void addToUsersList(String username){
usersListPrintWriter.print(username);
}
Основной метод:
public static void main(String[] args) {
Users usersObject = new Users();
usersObject.addToUsersList("USERNAME");
}
Ты потрясающий! Мне было интересно, что случилось с моим сканером, спасибо вам большое! –
@EJP Я специально назвал 'usersListPrintWriter', а не' PrintWriter', так как 'usersListPrintWriter' явно создан с помощью BufferedWriter в цепочке. Однако вы правы, подразумевая, что «PrinWriter» также буферизуется, и, как я полагаю, «FileWriter». Изменение ответа. – Andreas
В этом случае было бы лучше сказать, что «оба ответа« PrintWriter »и« BufferedWriter »буферизованы». Переменные не буферизуются. – EJP