java IO流FileWriter里的Write()方法,分多次写入前面的写入内容会丢失 15
我先吧代码贴上来。importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;import...
我先吧代码贴上来。
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Exercise_2 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
File f = new File("C://Users/dell/Desktop/ExerciseIO.txt");
if(f.exists()==false){
try{
f.createNewFile();
System.out.println("指定文件已经创建");
}catch(IOException e){
System.out.println("指定文件不存在而且无法输入");
}
}
//-------------------重点来了-----------------------
for(boolean b = true;b==true;){
String s = scanner.nextLine();
char[] c;
if(s.equals("end")){
System.out.println("输入结束");
b = false;
}
else{
c = s.toCharArray();
try{
FileWriter writer = new FileWriter(f);
writer.write(c);
writer.flush();
System.out.println("输入成功");
writer.close();
}catch(IOException e){
System.out.println("文件写入异常");
}
}
}
}
}
以上是代码,我分多次写入后↓
可我打开这个txt文件以后
只有第二次的输入是进去了,前面一次的输入没了!!!!!
这是为什么啊。。。。。。。。。。。。。郁闷。。。。。。。。。 展开
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Exercise_2 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
File f = new File("C://Users/dell/Desktop/ExerciseIO.txt");
if(f.exists()==false){
try{
f.createNewFile();
System.out.println("指定文件已经创建");
}catch(IOException e){
System.out.println("指定文件不存在而且无法输入");
}
}
//-------------------重点来了-----------------------
for(boolean b = true;b==true;){
String s = scanner.nextLine();
char[] c;
if(s.equals("end")){
System.out.println("输入结束");
b = false;
}
else{
c = s.toCharArray();
try{
FileWriter writer = new FileWriter(f);
writer.write(c);
writer.flush();
System.out.println("输入成功");
writer.close();
}catch(IOException e){
System.out.println("文件写入异常");
}
}
}
}
}
以上是代码,我分多次写入后↓
可我打开这个txt文件以后
只有第二次的输入是进去了,前面一次的输入没了!!!!!
这是为什么啊。。。。。。。。。。。。。郁闷。。。。。。。。。 展开
5个回答
展开全部
构造方法FileWriter(File file, boolean append)
append是true才是追加模式
append是true才是追加模式
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class FileWriterDemo1 {
public static void main(String[] args) throws IOException {
//你需要在构造方法中传入true ,重复运行才不会丢失
FileWriter fw = new FileWriter("c.txt",true);
fw.write("hello");
fw.close();
}
}
public static void main(String[] args) throws IOException {
//你需要在构造方法中传入true ,重复运行才不会丢失
FileWriter fw = new FileWriter("c.txt",true);
fw.write("hello");
fw.close();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
write()方法有一个重载方法,参数里多一个boolean值,可以选择是否覆盖已存在的数据;
alt+/可以查看;
alt+/可以查看;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FileWriter fw = new FileWriter (file ,true)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
麻烦把全部的代码贴出来,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询