java IO流FileWriter里的Write()方法,分多次写入前面的写入内容会丢失

我先吧代码贴上来。
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文件以后

只有第二次的输入是进去了,前面一次的输入没了!!!!!

这是为什么啊。。。。。。。。。。。。。郁闷。。。。。。。。。

第1个回答  推荐于2018-03-07
构造方法FileWriter(File file, boolean append)
append是true才是追加模式本回答被网友采纳
第2个回答  2017-08-03
public class FileWriterDemo1 {
public static void main(String[] args) throws IOException {
//你需要在构造方法中传入true ,重复运行才不会丢失
FileWriter fw = new FileWriter("c.txt",true);
fw.write("hello");
fw.close();
}
}
第3个回答  2017-06-22
write()方法有一个重载方法,参数里多一个boolean值,可以选择是否覆盖已存在的数据;
alt+/可以查看;
第4个回答  2017-07-10
FileWriter fw = new FileWriter (file ,true)
第5个回答  2017-07-20
麻烦把全部的代码贴出来,

用java中的io流写入文件如何避免覆盖原来的内容?求代码
用这个方法public FileOutputStream(String name,boolean append)throws FileNotFoundException,将逻辑值append设为false时,写入的字节数据覆盖文本原来的内容,为ture是即追加到原来文本的末尾。覆盖原文本内容如:FileOutputStream x=new FileOutputStream("文件全路径",false);throws FileNotFoundException...

读写文件的基本流有哪些
void write(int c) throws IOException 向输出流写入一个字符数据 void write(String str) throws IOException将一个字符串中的字符写入到输出流 void write(String str,int offset,int length)将一个字符串从offset开始的length个字符写入到输出流 void flush() throws IOException 将输出流中缓...

java中文件读取的时候,要被读取的文件应该放哪
被读取的文件可以放在硬盘的任意位置。 只要你新建文件IO流对象的时候把文件的物理路径写对就行了。代码例子如下:import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;\/** * file IO流读取并输出文件 * @author young * *\/pub...

Java中有几种类型的流
这句话体现了Java输入输出系统的一个特点,为了达到某个目的,需要包装好几层。首先,输出目的地是文件IODemo.out,所以最内层包装的是FileWriter,建立一个输出文件流,接下来,我们希望这个流是缓冲的,所以用BufferedWriter来包装它以达到目的,最后,我们需要格式化输出结果,于是将PrintWriter包在最外层。J...

java.io.FileNotFoundException: (系统找不到指定的路径。)怎么处理
路径里面有中文哈 public class fileWrite { public static void main(String[] args) { File file = new File("D:\/from.txt");File file2 = new File("D:\/to.txt");BufferedReader reader = null;BufferedWriter writer = null;try { System.out.println("以行为单位读取文件内容,一次读一...

java 如何用io流 读取list集合里我需要的内容,然后写入到.txt文件里...
file.isFile()) { file.createNewFile(); } \/\/ BufferedWriter writer = new BufferedWriter(new FileWriter(PATH)); for (String l:list){ writer.write(l); } writer.close(); System.out.println("完成"); }}结果希望对你有帮助 ...

java输入输出流怎么写,
两种构造函数方法:PrintStream ps=new PrintStream(out);PrintStream ps=new PrintStream(out, autoflush)第二个参数为布尔值,控制每次输出换行符时java是否刷新输出流。八.字符流的读取和写入java.io.Reader 和 java.io.InputStream 组成了 Java 输入类。Reader 用于读入16位字符,也就是 Unicode 编码的字符;而 ...

java.io.FileNotFoundException: (系统找不到指定的路径。)怎么处理
1、造成java.io.FileNotFoundException异常的原因为:通过io流根据给定路径调用文件时,发现文件不存在。2、解决办法为:将想要通过io流调用的文件放置到编写程序时给出的对应路径下;或者找到文件,在编写程序时修改io流路径为文件的实际路径。拓展:1、Java是一种可以撰写跨平台应用软件的面向对象的程序...

相似回答