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界面,有个文本框可输入文本,按个按钮之后输出到文件中