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

2008-02-23 08:14:20来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

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;}

                }





            }



        }



}
			   
			   

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:详细的jsp分页(oracle jsp apache)

下一篇:用缓冲技术提高JSP应用的性能和稳定性