数据|数据库
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;} } } }}
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索int
, 文件
, 数据
, new
, this
import
java实现数据库同步、java存储图片到数据库、java实现数据库监听器、java实现数据库连接池、java序列化存储数据库,以便于您获取更多的相关知识。
时间: 2024-11-03 19:54:48