输入输出操作例子(1)

来源:互联网 发布:充电宝排行知乎 编辑:程序博客网 时间:2024/05/22 17:29

文本文件pw.txt的内容如下所示:

  1. 大家好!
  2.     hello!
  3.     bye!

操作完毕之后的文本文件pw.txt的内容如下所示:

  1. 大家好!
  2. hello!
  3. bye!
  4. 大家好!hello!bye!

解决办法:

import java.io.*;import java.util.*;public class demo14{  public static void main(String args[])throws IOException  {    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("pw.txt")));    String str = null;    List<String> list = new ArrayList<String>();    while((str=br.readLine())!=null)    {      list.add(str);    }    br.close();    FileOutputStream fos = new FileOutputStream("pw.txt",true);    PrintWriter pw = new PrintWriter(fos,true);    for(String s : list)    {      pw.write(s);    }    pw.close();    System.out.println("over");  }}Optimization Solution:<pre name="code" class="java">    import java.io.BufferedReader;    import java.io.FileInputStream;    import java.io.FileOutputStream;    import java.io.InputStreamReader;    import java.io.OutputStream;    import java.io.PrintWriter;    import org.junit.Test;    public class TestBrAndPw {        /**         * 使用BufferedReader和PrintWriter         */        @Test        public void testBrAndPw() throws Exception {            FileInputStream fis = new FileInputStream("pw.txt");            InputStreamReader isr = new InputStreamReader(fis);            BufferedReader br = new BufferedReader(isr);                        String line = "";            String all = "";                        while ((line = br.readLine()) != null) {                all += line;                System.out.println(line);            }            OutputStream os=new FileOutputStream("pw.txt",true);//file相关流有append操作            PrintWriter pw = new PrintWriter(os,true);//true表示自动flush,但好像是pw.println()才会autoflush            System.out.println(all);            pw.println(all);            br.close();            pw.close();        }    }






                                             
0 0