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

数据|数据库

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

用Java实现HTML文件代替数据库存储数据的相关文章

新人求解java连接mysql,向数据库添加数据,出错

问题描述 新人求解java连接mysql,向数据库添加数据,出错 package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; public class test{ public static void main(String[] args)throws

普通文件和数据库存储的对比

在大多数企业开发或Web开发中,都会涉及数据的存储和检索.存储数据有两种基本的方法:保存到普通文件中(File System),或者保存到数据库(Database)中.   文件存储常见,并且简单,操作系统提供的完善的API,所以在早期项目中都会使用文件作存储载体.但是随着企业业务越来越复杂,网站访问量也越来越大时,对数据的并发性和检索速度有更高的要求.所以慢慢的也就引入使用数据库作为数据存储了.   使用普通文件的遇到的问题: 当文件变大时,使用普通文件将会变得非常慢,访问速度制约了应用性能

android SQLite数据库存储数据

简介 SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.Android 集成了 SQLite 数据库 Android 在运行时(run-time)集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库. 对于熟悉 SQL 的开发人员来时,在 Android 开发中使用 SQLite 相当简单.但是,由于 JDBC 会消耗太多的系统资源,所以 JDBC 对于手机这种内存受限设备来说并不合适.因此,Android 提供了

海量文件基于NAS存储数据异地容灾难诀窍

   数据存储是门大学问,比如用户的关键业务数据存储,通常是在大型数据库的基础上进行存储与管理,其相应的数据存储形式主要是数据块(Block),中小型数据库则可能会采用文件形式(file). 但是作为办公自动化OA.卷宗类海量内部文档管理.多集群前端业务平台.互联网业务平台.财务系统.工资系统等需要文件级(file)的集中存储与共享时,则有更专业的需求:一是充分利用现有的网络资源;二是提供强劲的存储容量的扩展;三是多台服务器对海量文件级的数据读写;四是降低存储资源开销及整体拥有的成本. 如何解决

Java从zip文件中解析XML数据实例

从zip文件中解析xml文件一般步骤是先解压zip文件,然后在解析xml,这里直接从zip文件中读取xml的输入流进行解析,减少I/O操作.下面是一个从zip文件中解析xml文件的示例:    代码如下 复制代码 /**  * 从zip文件中解析XML数据<br/>  * @param filePath 文件绝对路径  * @return List<?>  * @throws IOException  * @throws DocumentException  * @author 大

数据结构-java写宿舍管理系统要求用文件存储数据

问题描述 java写宿舍管理系统要求用文件存储数据 数据结构的课设 让写一个宿舍管理系统,用java写怎么才能不用数据库存储数据,而用文件啊...求大神帮忙!!!! 解决方案 对于一些小文件,我们可以一次性读取它的所有字节,然后一次提交到数据库 /// /// 这个方法演示了如何一次提交所有的字节.这样导致的结果是:应用程序立即需要申请等同于文件大小的内存 /// static void SubmitFileByOnce() { string file = @"F:功夫熊猫.rmvb"

java-Java如何用文件代替数据库

问题描述 Java如何用文件代替数据库 如何用文件代替数据库,最近老师在让我们做一个DVD项目,让我们用文件储存数据,但我们还没学习数据库呢,我们是用Myecplic 解决方案 Java用文件代替数据库可以有很多方法,一般的话,如果要求不高,使用java.io这个包里面的类,随便写入一个文件都行(txt.doc等). 不过要替代数据库,一般都会将数据写入一个xml文件中.可以使用JAXP (SUN公司).JDOM.DOM4J这些开发包来进行XML文件解析,写入或读取XML文件的数据都可以用开发包

关于图片或者文件在数据库的存储方式归纳

商品图片,用户上传的头像,其他方面的图片.目前业界存储图片有两种做法: 1.  把图片直接以二进制形式存储在数据库中 一般数据库提供一个二进制字段来存储二进制数据.比如mysql中有个blob字段.oracle数据库中是blob或bfile类型   2.  图片存储在磁盘上,数据库字段中保存的是图片的路径.   一.图片以二进制形式直接存储在数据库中   第一种存储实现(php语言): 大体思路: 1.将读取到的图片用php程序转化成二进制形式.再结合insert into 语句插入数据表中的b

mysql数据库存储路径更改 数据文件位置

mysql数据库存储路径更改  使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装在了系统盘.(第一个磁盘)使用了一段时间之后数据库存储量变大,快将20GB的存放空间占满了.因此必须将存放数据空间换地方了.嘿嘿下面是简单的操作了,不合理之处还请大侠们指点. 操作步骤:     1.检查mysql数据库存放目录     mysql -u root -