请交一下关于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();
}
}
}
}