用Java实现HTML文件代替数据库存储数据
2008-02-23 08:14:20来源:互联网 阅读 ()
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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash