Java Code. Алексей Алексеевич Крючков
Чтение книги онлайн.
Читать онлайн книгу Java Code - Алексей Алексеевич Крючков страница 3
File file = fileChooser.showOpenDialog(null);
if (file != null) {
t.setText(readerFile(file.getAbsolutePath()));
label3.setText(file.getName());
}
}
Сохранение записи через FileChooser
То же самое, что и в предыдущем примере, только для записи файла. Код неизвестных методов приводится ниже.
@FXML
private void saveItem(ActionEvent event){
if("".equals(t.getText())){
toast("Ничего нет для сохранения");
return;
}
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Сохранение записи");
fileChooser.setInitialDirectory(new File(path));
fileChooser.setInitialFileName(dateToDay("Запись_от_dd_MMMM_yyyy_в_HH-mm-ss"));
File file = fileChooser.showSaveDialog(null);
if (file != null) {
recordInFile(t.getText(),file.getAbsolutePath(),false);
if("все заметки".equals(file.getName()))return;
recordInFile("\n"+file.getName()+" ("+dayOfWeek()+")"+"\n"+
t.getText(),path+System.getProperty("file.separator")+"все заметки", true);
label3.setText(file.getName());
}
}
Чтение и запись файла
void recordInFile(String text,String fileName,boolean b){
try(FileWriter sw = new FileWriter(fileName,b)) {
sw.write(text+"\n");
if(!b)
toast("Запись сохранена");
}catch(Exception e){
toast("Ошибка записи файла");
}
}
String readerFile(String s){
String str,f="";
try{
File file=new File(s);
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
while((str = br.readLine()) != null){
f+=str+"\n";
}
}catch(IOException e){
toast("Ошибка чтения файла");
}
return f;
}
Окно выхода из программы
@FXML
private void exitItem(ActionEvent event){
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("ВЫХОД");
alert.setHeaderText("Выход из программы");
alert.setContentText("Вы действительно хотите выйти из программы?");
Optional<ButtonType> resultAlert = alert.showAndWait();
if (resultAlert.get() == ButtonType.OK){
System.exit(0);
}
}
Определение даты и дня недели
String dateToDay(String s){
Calendar calendar=new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat(s);