创建两个新文件 ,将两个文件内容 提取出来输出到第三个文件中 通过文件与流方式实现
package aaaa;
//创建文件 Demo1.txt 写入文本 hello 创建文件 Demo2.txt 写入文本 Neuedu
//将两个文件内容 提取出来输出到 第三个文件 Test.txt 通过 文件与流方式实现
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class J拷贝 {
public static void main(String[] args) throws IOException {
// test01();
String sf1="F:/io1/Demo1.txt"; //源文件
String sf2="F:/io1/Demo2.txt"; //源文件
String df="F:/io/Test.txt"; //目标文件
copy01(sf1,df);
copy01(sf2,df);
}
// 拷贝文件内容
public static void copy01(String sf,String df) {
FileReader fr=null;
FileWriter fw=null;
try {
fr=new FileReader(sf);
// fw=new FileWriter(df); 原内容被覆盖
fw=new FileWriter(df,true); //true表示在文件末尾附加新内容
int len=0;
while ((len=fr.read())!=-1) {
fw.write((char)len);
}
System.out.println("复制ok");
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
finally {
try {
fr.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 创建两个文件并写入内容
public static void test01() throws IOException {
File dir=new File("f:/io1");
File f1=new File("F:/io1/Demo1.txt");
File f2=new File("F:/io1/Demo2.txt");
if(!f1.exists()) { //如果文件不存在
if(!dir.exists()) { //如果目录不存在
dir.mkdir(); //创建目录
}
f1.createNewFile(); //在磁盘上创建文件
}
if(!f2.exists()) { //如果文件不存在
if(!dir.exists()) { //如果目录不存在
dir.mkdir(); //创建目录
}
f2.createNewFile(); //在磁盘上创建文件
}
FileWriter fw1=null;
FileWriter fw2=null;
try {
fw1=new FileWriter(f1);
String[] a1= {"hello"};
for(String s:a1) {
fw1.write(s);
fw1.write("\r\n");
}
fw1.flush();
fw2=new FileWriter(f2);
String[] a2= {"Neuedu"};
for(String s:a2) {
fw2.write(s);
fw2.write("\r\n");
}
fw2.flush();
System.out.println("ok");
} catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if(fw1!=null)
fw1.close();
if(fw2!=null)
fw2.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
fw=new FileWriter(df); // 原内容被覆盖
fw=new FileWriter(df,true); //true表示在文件末尾附加新内容
一开始没有写这个true,然后新内容不断覆盖原内容,第一个文件内容一直没有出现在拷贝文件中。
例如写字符流文件
fileWriter = new FileWriter(file,true);//第二个参数是表示是否向文件中追加内容
bw=new BufferedWriter(fileWriter);
bw.write(“问:没声音吗1111111111”);//写文本