我想通过文件流改写文件里面某一行的内容并刷新让更改后的所有内容显示出来?

解决方案 »

  1.   

    比如:
    111,222,333
    aaa,bbb,ccc
    444,555,666
    我想通过文件流把第二行改成aaa,bbb,ddd然后再刷新在文件里面显示出来:
    111,222,333
    aaa,bbb,ddd
    444,555,666
      

  2.   

    先用流读取到内存以String形式,在用String的替换字母方法替换掉!前提以前类容不能重复!在写入文件里OK
      

  3.   

     按行读取,按行替换,over
      

  4.   

    我写了,这个行不行?import java.io.*;public class Test1
    {
    public static void main(String[] args) throws Exception
    {
    // TODO Auto-generated method stub
    InputStream is=new BufferedInputStream(new FileInputStream("F:/Java.txt"));
    StringBuffer buffer=new StringBuffer();
    byte[] bs=new byte[1024];
    int length;
    while(-1!=(length=(is.read(bs, 0, 1024)))){
    String str=new String(bs,0,length);
    str=str.replace('c', 'd');
    buffer.append(str);
    }
    is.close();
    OutputStream os=new BufferedOutputStream(new FileOutputStream("F:/Java.txt"));
    os.write(buffer.toString().getBytes());
    System.out.println(buffer);
    os.close();
    }
    }
      

  5.   

    我试一下啊!不过还是先谢谢啦!嘿嘿!我正在做ATM取款机的存款的事件,所以必须要这样!
      

  6.   

    潇湘雨夜!能不能用你的办法帮我一下 !我对文件流不是很精通!还有就是:文件流里面的缓存是怎么回事?那几个while循环里面的!=-1和!=null是什么意思!小弟先谢谢啦!
      

  7.   


    import java.io.*;public class Test 
    {
    public static void main(String[] args) throws IOException 
    {
    StringBuffer buffer = new StringBuffer();

    BufferedReader in = new BufferedReader(new FileReader("d:\\1.txt"));
    String str;
    while ((str = in.readLine()) != null)
    {
    if (str.equals("aaa,bbb,ccc"))
    str = new String("aaa,bbb,ddd");
    buffer.append(str);
    buffer.append("\r\n");
    }
    buffer.setLength(buffer.length() - 2); //消除多余的换行
    in.close();

    PrintWriter out = new PrintWriter(new FileWriter("d:\\1.txt"));
    out.println(buffer.toString());
    out.close();
    }
    }