关于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();
}
} 展开
下面是我写的一个方法,但是当再次上传一个文件的时候,就把前面的列表文件给覆盖了。
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();
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询