创建文件 Demo1.txt 写入文本 hello 创建文件 Demo2.txt 写入文本 Neuedu 将两个文件内容 提取出来输出到 第三个文件 Test.txt 通过 文件与流方式实现

创建两个新文件 ,将两个文件内容 提取出来输出到第三个文件中 通过文件与流方式实现

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”);//写文本

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值