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

本文介绍了一个Java程序,该程序通过自定义的`FileManager`类实现从两个文本文件中读取内容,并将这些内容逐行写入到第三个文件中。`FileManager`类能够根据指定的分隔符来解析文本文件。
 1 package sundemo2;
 2 
 3 import java.io.File;  
 4 import java.io.FileReader;  
 5 import java.io.FileWriter;  
 6   
 7 public class MainClass{  
 8     public static void main(String[] args) throws Exception{  
 9         FileManager a = new FileManager("E:\\WorkSpace\\SunDemo\\data\\demo\\a.txt",new char[]{'\n'});  
10         FileManager b = new FileManager("E:\\WorkSpace\\SunDemo\\data\\demo\\b.txt",new char[]{'\n',' '});        
11         FileWriter c = new FileWriter("E:\\WorkSpace\\SunDemo\\data\\demo\\c.txt");  
12         String aWord = null;  
13         String bWord = null;  
14         while((aWord = a.nextWord()) !=null ){  
15             c.write(aWord + "\n");  
16             bWord = b.nextWord();  
17             if(bWord != null)  
18                 c.write(bWord + "\n");  
19         }  
20           
21         while((bWord = b.nextWord()) != null){  
22             c.write(bWord + "\n");  
23         }     
24         c.close();  
25     }       
26 }  
27   
28 class FileManager{   
29     String[] words = null;  
30     int pos = 0;  
31     public FileManager(String filename,char[] seperators) throws Exception{  
32         File f = new File(filename);  
33         FileReader reader = new FileReader(f); 
34         char[] buf = new char[(int)f.length()];  
35         int len = reader.read(buf);  
36         String results = new String(buf,0,len);  
37         String regex = null;  
38         if(seperators.length > 1 ){  
39             regex = "" + seperators[0] + "|" + seperators[1];  
40         }else{  
41             regex = "" + seperators[0];  
42         }  
43         words = results.split(regex);  
44     }  
45       
46     public String nextWord(){  
47         if(pos == words.length)  
48             return null;  
49         return words[pos++];  
50     }  
51 }  

 

转载于:https://www.cnblogs.com/xiaoluosun/p/4253246.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值