java中使用了集合,如何实现把集合中的数据写入txt文件中与读出来?

举个例子看看?实现每次读出全部的数据,然后写入全部的数据... 举个例子看看?
实现每次读出全部的数据,然后写入全部的数据
展开
 我来答
hitzsf
推荐于2017-11-26 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1168万
展开全部
用对象流读取,大多数向量、集合都实现了序列化,所以实现起来很简单



import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.TreeSet;
import java.util.Vector;

public class outStream {
static TreeSet<String> v = new TreeSet<String>();
// static Vector<String> v = new Vector<String>();
static File fdata = new File("hello/data");
public static void main(String[] args) {
boolean flag = false; //读、存标志
if(flag){
for(int i = 9; i > 0; i--){
v.add("name" + i); 
}
saveVector(); // 存储数据
System.out.println("已经存储完毕,修改flag值可读取数据");
}

if (!flag){
readVector(); //读取操作
}
}
private static void saveVector() {
try {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fdata));
oos.writeObject(v);
oos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private static void readVector() {
try {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fdata));
// v = (Vector<String>) ois.readObject();
v = (TreeSet<String>) ois.readObject();
ois.close();
for (String e : v) {
System.out.println(e);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
弄本文
2018-06-22
知道答主
回答量:42
采纳率:42%
帮助的人:7.1万
引用hitzsf的回答:
用对象流读取,大多数向量、集合都实现了序列化,所以实现起来很简单import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.TreeSet;import java.util.Vector;public class outStream { static TreeSet<String> v = new TreeSet<String>();// static Vector<String> v = new Vector<String>(); static File fdata = new File("hello/data"); public static void main(String[] args) { boolean flag = false; //读、存标志 if(flag){ for(int i = 9; i > 0; i--){ v.add("name" + i); } saveVector(); // 存储数据 System.out.println("已经存储完毕,修改flag值可读取数据"); } if (!flag){ readVector(); //读取操作 } } private static void saveVector() { try { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fdata)); oos.writeObject(v); oos.close(); } catch (Exception e) { e.printStackTrace(); } } private static void readVector() { try { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fdata));// v = (Vector<String>) ois.readObject(); v = (TreeSet<String>) ois.readObject(); ois.close(); for (String e : v) { System.out.println(e); } } catch (Exception e) { e.printStackTrace(); } }}
展开全部
你刚开始的flag应该是true吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式