首页 > 开发 > Java > 正文

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

2024-07-13 09:55:14
字体:
来源:转载
供稿:网友

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;     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);        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.length;i++){  a[i]=over.indexof("<td>")+4;  b[i]=over.indexof("</td>");  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);         string s1=save.getselectedfile()+"";         if(result==jfilechooser.approve_option){        try {            outputstreamwriter out = new outputstreamwriter(new                    fileoutputstream(s1));            string s2="<html><head></head><body>";s2=s2+"<table border=/"1/" width=/"50%/" bordercolor=/"green/" align=/"center/">";            s2=s2+"<tr>";            s2=s2+"<th>"+"姓名"+"</th>";            s2=s2+"<th>"+"年龄"+"</th>";            s2=s2+"<th>"+"身高"+"</th>";            s2=s2+"</tr>";          for(int shu=0;shu<rows;shu++)           {                s2=s2+"<tr align=/"center/">";                s2=s2+"<td>"+my[shu][0].tostring().trim()+"</td>";                s2=s2+"<td>"+my[shu][1].tostring().trim()+"</td>";                s2=s2+"<td>"+my[shu][2].tostring().trim()+"</td>";                s2=s2+"</tr>";           }        s2=s2+"</table></body></html>";         out.write(s2);         out.close();         for(int i1=0;i1<50;i1++){           my[i1][0]="";           my[i1][1]="";           my[i1][2]="";           }            rows=0;           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("请输入身高:");                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();                 this.repaint();rows=rows+1;}                }            }        }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表