请交一下关于file类的问题!
调用PrintWriter会使存在的a.txt文件内容被清空,如果我希望读取a的内容并改变后把改变后的内容存回a.txt文件,是不是一定要建立一个b.txt文件,先把改变后的内容写入b,再从b写入a
呢?
public class Test{ public static void main(String[] args){ new Test(); } public Test(){ BufferedReader br=null; BufferedWriter bw=null; try { //先读出记事本中的内容 br=new BufferedReader(new FileReader("H:\\a.txt")); String s=""; ArrayList<String> array=new ArrayList<String>(); //创建ArrayList用来存放读入的内容 while((s=br.readLine())!=null){ array.add(s); } //再写入 //比如在中间添加一段字符串:“我是后添加的内容” array.add(1, "我是后添加的内容"); bw=new BufferedWriter(new FileWriter("H:\\a.txt")); for(int i=0;i<array.size();i++){ bw.write(array.get(i)+"\r\n"); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ try { if(br!=null){ br.close(); } if(bw!=null){ bw.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
public class Test{ public static void main(String[] args){ new Test(); } public Test(){ BufferedReader br=null; BufferedWriter bw=null; try { //先读出记事本中的内容 br=new BufferedReader(new FileReader("H:\\a.txt")); String s=""; ArrayList<String> array=new ArrayList<String>(); //创建ArrayList用来存放读入的内容 while((s=br.readLine())!=null){ array.add(s); } //再写入 //比如在中间添加一段字符串:“我是后添加的内容” array.add(1, "我是后添加的内容"); bw=new BufferedWriter(new FileWriter("H:\\a.txt")); for(int i=0;i<array.size();i++){ bw.write(array.get(i)+"\r\n"); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ try { if(br!=null){ br.close(); } if(bw!=null){ bw.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }