JAVA 在GUI中的文本框输入数据 保存到vector 对象中,在程序退出(按右上角的红叉)通过对象流把

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 在GUI中的文本框输入数据 保存到vector 对象中,在程序退出(按右上角的红叉)通过对象流把相关的知识,希望对你有一定的参考价值。

vector对象保存到文件中,下次再启动程序读取文件中数据到vector对象,要怎样实现求一个简单例子,(我会对象流的,但保存不对,下次读取时 vector里什么都没有)

写个vector保存和读取的例子,供参考

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Vector;
 
public class outStream 
    static Vector<String> v = new Vector<String>();
    static File fdata = new File("data");
    public static void main(String[] args) 
        boolean flag = false;
        if(flag)
            for(int i = 0; i < 10; i++)
                v.add("name" + i); 
            
            saveVector();
        
         
        if (!flag)
            readVector();
        
    
    private static void saveVector() 
        try 
            ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fdata));
            oos.writeObject(v);
            oos.close();
         catch (Exception e) 
            e.printStackTrace();
        
    
    private static void readVector() 
        try 
            ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fdata));
            v = (Vector<String>) ois.readObject();
            ois.close();
            for (String e : v) 
                System.out.println(e);
            
         catch (Exception e) 
            e.printStackTrace();
        
    

追问

我会对象流 - - 只是 程序退出 保存文件 再次启动程序 读取 数据到vector 这里 出问题

追答

我程序里写了两个方法啊,一个是程序启动的时候保存vector,一个是读取vector

追问

要在 windowscloseing这 重写 关闭 方法 退出程序 保存 然后启动程序 读取。。

追答

那就移植过去啊,在swing关闭时调用sava,在构造函数里读取,有难度么?

参考技术A 文件里没有数据的原因:
程序异常退出,也就是IO流没有正常结束,真正的数据还没有物理写入文件中。你需要在流close前,调用flush()方法,强制同步一下。
fileoutputstream out= new ……;
out.write(xxxx);
out.flush();
out.close();

写一个java GUI界面,有个文本框可输入文本,按个按钮之后输出到文件中

参考技术A 给你写个简单的,参考一下吧
package uni;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Guiwriter extends JFrame

JPanel p1 = new JPanel();
JPanel p2 = new JPanel();

JLabel l = new JLabel("请输入内容:");

JTextField f = new JTextField();
JButton b = new JButton("执行");

public Guiwriter() //构造方法

this.setLayout(new BorderLayout());
p1.setLayout(new GridLayout(3, 2));
p1.add(l);
p1.add(f);

this.add(p1, BorderLayout.NORTH);
p2.add(b, BorderLayout.CENTER);
this.add(p2, BorderLayout.CENTER);

this.setSize(200, 200);
this.setVisible(true);

b.addActionListener(
new ActionListener()

public void actionPerformed(ActionEvent e)

String str =f.getText();
run(str);


);



public void run(String str)

String rtnFile1 = "d:/OK.txt";//输出文件路径
try
BufferedWriter bw = new BufferedWriter(new FileWriter(rtnFile1));
String str1 = str ;
bw.write(str1);
bw.newLine();
bw.flush();
bw.close();

catch (IOException e)
e.printStackTrace();



public static void main (String args[])
new Guiwriter();

本回答被提问者和网友采纳

以上是关于JAVA 在GUI中的文本框输入数据 保存到vector 对象中,在程序退出(按右上角的红叉)通过对象流把的主要内容,如果未能解决你的问题,请参考以下文章

JAVA GUI问题。如何触动按钮后弹出文件浏览器和文件名选择框,选择保存目录?

写一个java GUI界面,有个文本框可输入文本,按个按钮之后输出到文件中

java 24 - 6 GUI之 创建只能输入数字的文本框

Java编程(基于图形界面)从文件中读出数据,显示在文本框中

Django中将一个文本框中的数据通过点击按钮保存到数据库

java如何实现用户在文本框中输入好友昵称,点击查询,根据用户输入匹配好友昵称,结果加载到下拉框中