java算法面试题:编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。...


package
com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.List; public class IO_jiaoti { public static void main(String[] args) throws Exception { /* * 编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b. * txt文件中用回车或空格进行分隔。 */ BufferedReader br1 = new BufferedReader( new InputStreamReader(new FileInputStream("e:\\neck\\a.txt"), "gb2312")); BufferedReader br2 = new BufferedReader( new InputStreamReader(new FileInputStream("e:\\neck\\b.txt"), "gb2312")); BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(new FileOutputStream("e:\\neck\\c.txt"), "gb2312")); List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList<String>(); List<String> list3 = new ArrayList<String>(); String str1; while ((str1 = br1.readLine()) != null) { list1.add(str1); } StringBuffer sb = new StringBuffer(); int len; char[] buf = new char[1024]; while ((len = br2.read(buf)) != -1) { sb.append(buf, 0, len); } String[] bstr = sb.toString().split("\\s"); for (String str : bstr) { System.out.println(str); if (str.matches("[a-zA-Z]{1,}")) { list2.add(str); } } if (list1.size() <= list2.size()) { for (int i = 0; i < list1.size(); i++) { list3.add(list1.get(i)); list3.add(list2.get(i)); } for(int i=list1.size();i<list2.size();i++) { list3.add(list2.get(i)); } }else { for (int i = 0; i < list2.size(); i++) { list3.add(list1.get(i)); list3.add(list2.get(i)); } for(int i=list2.size();i<list1.size();i++) { list3.add(list1.get(i)); } } for(String str:list3) { System.out.print(str+" "); bw.write(str); bw.write("\r\n"); bw.flush(); } } }

 

转载于:https://www.cnblogs.com/qingyundian/p/8341587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值