String name=DelNameTex.getText().trim();
if(fileX.exists()){
if(name.length()>0)
{
try {
FileInputStream inOne=new FileInputStream(fileX);
ObjectInputStream in=new ObjectInputStream(inOne);
goodList=(LinkedList)in.readObject();
in.close();
boolean exist=false;
for(int i=0;i<goodList.size();i++)
{
if((((Goods)goodList.get(i)).name).equals(name))
{
goodList.remove(i);
exist=true;
System.out.println("已经删除");
//System.out.println(((Goods)goodList.get(i)).name);
}
}
/****************************/
if(exist){}else{DelNameTex.setText("不存在该商品");}
/****************************/
FileOutputStream outOne=new FileOutputStream(fileX);
ObjectOutputStream out=new  ObjectOutputStream(outOne);
out.writeObject(goodList);
out.close();
} catch (Exception e1) {
e1.printStackTrace();
}
请问,用FileInputStream向文件中写入数据,文件的以前数据是不是被覆盖了呢?
请留下你的QQ,留下QQ的给分!

解决方案 »

  1.   

    看构造方法
    FileInputStream inOne=new FileInputStream(fileX);这种覆盖
    FileInputStream inOne=new FileInputStream(fileX,true);这种不覆盖
      

  2.   

    错了
    FileOutputStream inOne=new FileOutputStream(fileX);这种覆盖
     FileOutputStream inOne=new FileOutputStream(fileX,true);这种不覆盖
    刚才直接粘贴的LZ的程序里的代码,没仔细看
      

  3.   

    FileOutputStream inOne=new FileOutputStream(fileX);这种会覆盖原来的数据
    FileOutputStream inOne=new FileOutputStream(fileX,true);这种不会不覆盖 ,而是在文本的后面添加数据