关于java本地存储信息的问题

我做了个程序,客户端要往服务器发送文件,客户端发送一个文件,就在本地把该文件的文件名存到客户端本地的一个列表里(比如存到TXT,XML中,但不能用数据库存),有谁有好的办... 我做了个程序,客户端要往服务器发送文件,客户端发送一个文件,就在本地把该文件的文件名存到客户端本地的一个列表里(比如存到TXT,XML中,但不能用数据库存),有谁有好的办法存列表。
下面是我写的一个方法,但是当再次上传一个文件的时候,就把前面的列表文件给覆盖了。

private ArrayList<String> array=new ArrayList<String>();
public void setNewFileList(String fileName){
array.add(fileName);
FileOutputStream fos=new FileOutputStream("../FileManage/log/NewFileList.log");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(array);
oos.flush();
oos.close();
}
第1个办法我也想过,但是一旦前面列表的内容为空,或者是还没创建该列表,就抛异常了。除非这个程序事先往里存一个数据,这个程序以后才能正常运行。

private ArrayList<String> array=new ArrayList<String>();
private ArrayList at;

public void setNewFileList(String fileName) throws IOException, ClassNotFoundException {
FileInputStream fis=new FileInputStream("../FileManage/log/NewFileList.log");
ObjectInputStream ois=new ObjectInputStream(fis);
at=(ArrayList)ois.readObject();

Iterator it=at.iterator();
while(it.hasNext()){
array.add(it.next().toString());
}
if(array.contains(fileName)){
}else{
array.add(fileName);
FileOutputStream fos=new FileOutputStream("../FileManage/log/NewFileList.log");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(array);
oos.flush();
oos.close();
}
}
展开
 我来答
ping3021
2008-11-27 · TA获得超过488个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:290万
展开全部
2个办法:
1、把前面的内容读出来 然后增加新的后再写入
2、寸内容的时候 使用在文件末尾增加内容的方法
至于识别,自己定义个识别符号即可
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式