Чтение файла Scanner'om - Java

Узнай цену своей работы

Формулировка задачи:

Приветствую. Как сделать так, чтобы при сканировании файла информация добавлялась сразу а не после перезагрузки приложения? Я просто ввожу что-либо в поле ввода, сохраняю в файл, нажимаю просмотр, но в открывшемся новом окне то, что я написал в полее ввода, не отображается, оно отобразится только после перезагрузки приложения. как решить, незнаю.
Листинг программы
  1. package Test1;
  2. import javax.swing.JFrame;
  3. public class Test{
  4. static Test2 test2 = new Test2("Test 2");
  5. static Test3 test3 = new Test3("Test 3");
  6. public static void main(String[] args) {
  7. Play();
  8. }
  9. public static void Play(){
  10. test2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  11. test2.setSize(100, 120);
  12. test2.setVisible(true);
  13. test2.setResizable(false);
  14. test2.setLocationRelativeTo(null);
  15. }
  16. public void Winf(){
  17. test3.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  18. test3.setSize(100, 120);
  19. test3.setVisible(true);
  20. test3.setResizable(false);
  21. test3.setLocationRelativeTo(null);
  22. }
  23. }
Листинг программы
  1. package Test1;
  2. import java.awt.FlowLayout;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.io.File;
  6. import java.io.FileWriter;
  7. import javax.swing.*;
  8. public class Test2 extends JFrame{
  9. private JButton b1 = new JButton("save");
  10. private JButton b2 = new JButton("exit");
  11. private JButton b3 = new JButton("preview");
  12. private JTextField t1 = new JTextField(10);
  13. TtTtT tt = new TtTtT();
  14. Test test = new Test();
  15. File file = new File("src/test.txt");
  16. public Test2(String s){
  17. super(s);
  18. setLayout(new FlowLayout());
  19. b3.setEnabled(false);
  20. add(t1);
  21. add(b3);
  22. add(b1);
  23. add(b2);
  24. b1.addActionListener(tt);
  25. b2.addActionListener(tt);
  26. b3.addActionListener(tt);
  27. }
  28. public class TtTtT implements ActionListener{
  29. @Override
  30. public void actionPerformed(ActionEvent ae) {
  31. try{
  32. if(ae.getSource() == b1){
  33. String s1 = t1.getText();
  34. try{
  35. // записываем введенное в test.txt
  36. FileWriter trt = new FileWriter(file);
  37. trt.write(s1);
  38. trt.close();
  39. }catch(Exception r){
  40. r.printStackTrace();
  41. }
  42. //t1.setEditable(false);
  43. b3.setEnabled(true);
  44. }
  45. if(ae.getSource() == b2){
  46. System.exit(0);
  47. }
  48. if(ae.getSource() == b3){
  49. setVisible(false);
  50. dispose();
  51. test.Winf();
  52. }
  53. }catch(Exception ex){
  54. ex.printStackTrace();
  55. }
  56. }
  57. }
  58. }
Листинг программы
  1. package Test1;
  2. import java.awt.FlowLayout;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.io.File;
  6. import java.util.Scanner;
  7. import javax.swing.*;
  8. public class Test3 extends JFrame{
  9. private JLabel l1 = new JLabel();
  10. private JButton b1 = new JButton("exit");
  11. private JButton b2 = new JButton("back");
  12. ioioio io = new ioioio();
  13. Test test = new Test();
  14. private String ss = "";
  15. public Test3(String s){
  16. super(s);
  17. setLayout( new FlowLayout());
  18. try{
  19. Scanner scn = new Scanner(new File("src/test.txt"));
  20. while(scn.hasNext())
  21. ss += scn.nextLine();
  22. l1.setText(ss);
  23. scn.close();
  24. }catch(Exception b){
  25. b.printStackTrace();
  26. }
  27. add(l1);
  28. add(b1);
  29. add(b2);
  30. b1.addActionListener(io);
  31. b2.addActionListener(io);
  32. }
  33. public class ioioio implements ActionListener{
  34.  
  35. @Override
  36. public void actionPerformed(ActionEvent ae) {
  37. try{
  38. if(ae.getSource() == b1){
  39. System.exit(0);
  40. }
  41. if(ae.getSource() == b2){
  42. setVisible(false);
  43. dispose();
  44. test.Play();
  45. }
  46. }catch(Exception ex){
  47. ex.printStackTrace();
  48. }
  49. }
  50. }
  51. }

Решение задачи: «Чтение файла Scanner'om»

textual
Листинг программы
  1. public void Winf(String s1){
  2. .......
  3. test3.l1.setText(s1);
  4. .......
  5. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут