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

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

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

Приветствую. Как сделать так, чтобы при сканировании файла информация добавлялась сразу а не после перезагрузки приложения? Я просто ввожу что-либо в поле ввода, сохраняю в файл, нажимаю просмотр, но в открывшемся новом окне то, что я написал в полее ввода, не отображается, оно отобразится только после перезагрузки приложения. как решить, незнаю.
package Test1;
 
import javax.swing.JFrame;
 
public class Test{
    
    static Test2 test2 = new Test2("Test 2");
    static Test3 test3 = new Test3("Test 3");
 
    public static void main(String[] args) {
        
        Play();
    }
    
    public static void Play(){
        
        test2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        test2.setSize(100, 120);
        test2.setVisible(true);
        test2.setResizable(false);
        test2.setLocationRelativeTo(null);
        
    }
    
    public void Winf(){
        
        test3.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        test3.setSize(100, 120);
        test3.setVisible(true);
        test3.setResizable(false);
        test3.setLocationRelativeTo(null);
        
    }
    
}
package Test1;
 
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import javax.swing.*;
 
public class Test2 extends JFrame{
    
    private JButton b1 = new JButton("save");
    private JButton b2 = new JButton("exit");
    private JButton b3 = new JButton("preview");
    
    private JTextField t1 = new JTextField(10);
    
    TtTtT tt = new TtTtT();
    Test test = new Test();
    
    File file = new File("src/test.txt");
    
    public Test2(String s){
    
        super(s);
        setLayout(new FlowLayout());
        
        b3.setEnabled(false);
        
        add(t1);
        add(b3);
        add(b1);
        add(b2);
        
        b1.addActionListener(tt);
        b2.addActionListener(tt);
        b3.addActionListener(tt);
    
    }
    
    public class TtTtT implements ActionListener{
 
        @Override
        public void actionPerformed(ActionEvent ae) {
            
            try{
                
                if(ae.getSource() == b1){
                    
                    String s1 = t1.getText();
                    
                    try{
                        // записываем введенное в  test.txt
                        FileWriter trt = new FileWriter(file);
                        trt.write(s1);
                        trt.close();
                    }catch(Exception r){
                        r.printStackTrace();
                    }
                    
                    //t1.setEditable(false);
                    b3.setEnabled(true);
                }
                
                if(ae.getSource() == b2){
                    System.exit(0);
                }
                
                if(ae.getSource() == b3){
                    setVisible(false);
                    dispose();
                    test.Winf();
                }
                
            }catch(Exception ex){
                ex.printStackTrace();
            }
            
        }
        
    }
    
}
package Test1;
 
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Scanner;
import javax.swing.*;
 
public class Test3 extends JFrame{
    
    private JLabel l1 = new JLabel();
    private JButton b1 = new JButton("exit");
    private JButton b2 = new JButton("back");
    
    ioioio io = new ioioio();
    Test test = new Test();
    
    private String ss = "";
    
    public Test3(String s){
        
        super(s);
        setLayout( new FlowLayout());
        
        try{
            
            Scanner scn = new Scanner(new File("src/test.txt"));
            while(scn.hasNext())
                ss += scn.nextLine();
            l1.setText(ss);
            scn.close();
            
        }catch(Exception b){
            b.printStackTrace();
        }
        
        add(l1);
        add(b1);
        add(b2);
        
        b1.addActionListener(io);
        b2.addActionListener(io);
        
    }
    
    public class ioioio implements ActionListener{

        @Override
        public void actionPerformed(ActionEvent ae) {
            
            try{
                
                if(ae.getSource() == b1){
                    
                    System.exit(0);
                    
                }
                
                if(ae.getSource() == b2){
                    setVisible(false);
                    dispose();
                    test.Play();
                }
                
            }catch(Exception ex){
                ex.printStackTrace();
            }
            
        }
        
    }
    
}

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

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

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


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

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

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