数据的存储方式有很多,每个数据库都能满足人们的日常需要,现在也基本没人会用txt文档来存储数据了。界面粗糙,存储在里面的数据没有特定的属性,使用起来不是那么的得心应手,学校的课题不允许使用数据库对数据增删改查等操作。其实这也是有一定的考虑的,数据库自带索引功能每个数据条都有特有的身份,对这些数据进行基本的DML操作也没有任何问题。说到对储存在txt文档里面的数据进行基本的操作:
首先要设定好存储方式,这是能否利用好文档里面的数据的关键,没有规整格式的数据,就是一堆乱码,为了实现这一目的可以利用java提供的表格(JTable)(暂时想到的解决方法(●ˇ∀ˇ●)),JTable真的很好用,行列赋予特殊的含义,这样存储在文档里没有属性的数据通过表格有了特殊的意义;
然后还有个很大的问题txt文档数据的填充方式很多,但能有效利用的却少之又少,目前自己本身的水平还不能写接口,对于数据的delete、insert操作利用现有的文档读写方式实现起来不怎么方便。翻阅资料,由于没多少人使用txt存储数据(/(ㄒoㄒ)/~~谁会无聊用这玩意存啊),能参考的方法不是太多,自己尝试的几种方式,最后决定准备用一个转存Txt文档存储修改后的数据,然后将数据覆盖原文档的方式(写完后发现可以用临时文件的,这个方式要好很多,可以试试)。
String pathh = "C:\\yuan.txt"; String pathn = "D:\\beifen.txt";
File fname = new File(pathn);\
try {
RandomAccessFile rf = new RandomAccessFile(fname, "rw");
FileChannel fc = rf.getChannel();
fc.truncate(0);
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
try{
String pathh = "C:\\yuan.txt";
File file2 = new File(pathh);
File file1 = new File(pathn);
FileWriter w = new FileWriter(file2,false);
InputStreamReader reader = new InputStreamReader(new FileInputStream(file1));
BufferedReader br = new BufferedReader(reader);
String sr = null;
try {
while((sr=br.readLine())!=null){//这是txt文件内容的copy方式
w.write(sr+"\r\n");
w.flush();
}w.close();
br.close();
br.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//转存的时候注意将备份的文件清空,因为我们用的是追加的方式写文件。最后就是利用这些数据进行基本操作啦。 点击打开链接
版权声明:本文为zxlvzz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。