您的位置:首页>平台软件>数据库>

用Java实现HTML文件代替数据库存储数据

[ 来源:赛迪网 | 更新日期:2007-7-15 20:19:22 | 评论 0 条 | 我要投稿 ]
Java在编写一些图形化的小程序时,有时也要去存储少量的数据,如果用JDBC来连接数据库,就会使程序速度减慢,而且及不方面,我们可以用Java中的文件来代替数据库保存数据,这样不但可以实现存储的功能,而且不用考虑数据频繁的存取,可以把文件定义成为HTML文件,并将存储的数据以表格的方式显示,这样就可以直接在网页中看到数据,下面是我写的一个小的文件存储数据的实例:



import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.io.*;
import javax.swing.*;

public class filework extends JFrame implements ActionListener {
JPanel p;
JButton b0,b1,b2;
JTable tab;
Object my[][] = new Object[50][3];
int a[]=new int[50];
int b[]=new int[50];
int j=0,rows=0;
字串4

int k=0,shu=0;
String name,age;
String title[] = {"姓名", "年龄", "身高"};
BufferedReader in;
int i = 0;
public filework() {
super("数据轮回");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p = new JPanel();

tab = new JTable(my, title);
b0 = new JButton("添加");
b1 = new JButton("打开");
b2 = new JButton("保存");

b1.addActionListener(this);
b2.addActionListener(this);

b0.addActionListener(this);
p.add(b0);
p.add(b1);
p.add(b2); 字串9

this.getContentPane().add(new JScrollPane(tab), "Center");
this.getContentPane().add(p, "South");
this.setVisible(true);


}


public void fileopen() {
try{

JFileChooser choose=new JFileChooser(".");
int sis=choose.showOpenDialog(this);
String name=choose.getSelectedFile()+"";

if(sis==JFileChooser.APPROVE_OPTION){
in=new BufferedReader(new FileReader(name));
String over=null;
String line;
while((line=in.readLine())!=null){
over=over+line;
}

for(int i=0;i a[i]=over.indexOf("
")+4; 字串4
b[i]=over.indexOf("
");
my[rows][k]=over.substring(a[i],b[i]);
over=over.substring(b[i]+4,over.length());
k=k+1;
if(k==3){k=0;rows=rows+1;}

}

}
}catch(Exception ie){}

}
public static void main(String[] args) {
filework filework = new filework();

}

public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
fileopen();

}
if (e.getSource() == b2) {

JFileChooser save=new JFileChooser(".");
int result=save.showSaveDialog(null);
字串2

String s1=save.getSelectedFile()+"";
if(result==JFileChooser.APPROVE_OPTION){
try {
OutputStreamWriter out = new OutputStreamWriter(new
FileOutputStream(s1));
String s2="";
s2=s2+"";
s2=s2+"
";
s2=s2+"
"+"姓名"+"
";
s2=s2+"
"+"年龄"+"
";
s2=s2+"
"+"身高"+"
";
s2=s2+"";

for(int shu=0;shu { 字串4

s2=s2+"
";
s2=s2+"
"+my[shu][0].toString().trim()+"
";
s2=s2+"
"+my[shu][1].toString().trim()+"
";
s2=s2+"
"+my[shu][2].toString().trim()+"
";
s2=s2+"";
}


s2=s2+"";
out.write(s2);
out.close();
for(int i1=0;i1<_50i1 br="br" /> my[i1][0]="";
my[i1][1]="";
my[i1][2]="";
}
rows=0;

字串7


this.repaint();
JOptionPane.showMessageDialog(null,"保存数据成功!",
"information",JOptionPane.QUESTION_MESSAGE);

} catch (Exception ex1) {
}

}



}
if(e.getSource()==b0){
JTextField message[]=new JTextField[6];
message[0]=new JTextField("请输入姓名:");
message[0].setEditable(false);
message[1]=new JTextField();
message[2]=new JTextField("请输入年龄:");
message[2].setEditable(false);
message[3]=new JTextField();
message[4]=new JTextField("请输入身高:");

字串9


message[4].setEditable(false);
message[5]=new JTextField();

String str[]={"确认","取消"};
int go=JOptionPane.showOptionDialog(null, message, "添加用户",
JOptionPane.YES_OPTION, JOptionPane.INFORMATION_MESSAGE, null, str, str[0]);
if(go==0){
if(message[1].getText().equals("")&&
message[3].getText().equals("")&&
message[5].getText().equals("")){
JOptionPane.showMessageDialog(null,"数据不能为空","ERROR",JOptionPane.ERROR_MESSAGE);}
else{
my[rows][0]=message[1].getText();
my[rows][1]=message[3].getText();
my[rows][2]=message[5].getText(); 字串2
this.repaint();rows=rows+1;}
}


}

}

}



Tags:
责任编辑:
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为