文件1的数据如下:
apple corn
apple onions
apple potato
apple rice
apple bread
apple nuts
apple potato_chips
。
文件2的数据如下:
1
1
161
17
30
3
1
。
把文件2的数据追加到文件1中,形成格式如下的数据:
apple corn 1
apple onions 1
apple potato 161
apple rice 17
apple bread 30
apple nuts 3
apple potato_chips 1
apple corn
apple onions
apple potato
apple rice
apple bread
apple nuts
apple potato_chips
。
文件2的数据如下:
1
1
161
17
30
3
1
。
把文件2的数据追加到文件1中,形成格式如下的数据:
apple corn 1
apple onions 1
apple potato 161
apple rice 17
apple bread 30
apple nuts 3
apple potato_chips 1
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Merge {
public static void main(String[] args) throws IOException {
BufferedReader br1 = new BufferedReader(new InputStreamReader(new FileInputStream("d:\\file1.txt")));
BufferedReader br2 = new BufferedReader(new InputStreamReader(new FileInputStream("d:\\file2.txt")));
BufferedWriter bo = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:\\file.txt")));
String line_separator = System.getProperty("line.separator");//取得换行符
String line1,line2;
line1 = br1.readLine();
line2 = br2.readLine();
while(null != line1 && !"".equals(line1) && null != line2 && !"".equals(line2))
{
bo.write(line1 + " " + line2 + line_separator);
line1 = br1.readLine();
line2 = br2.readLine();
}
br1.close();
br2.close();
bo.close();
}
}
public FileOutputStream(File file,
boolean append)
throws FileNotFoundException
append - 如果为 true,则将字节写入文件末尾处,而不是写入文件开始处
String file1 = "file1.txt";
String file2 = "file2.txt";
final String tmpFile = "tmp.txt";
final String separator = "\t";
File f1 = new File(file1);
BufferedReader r1 = new BufferedReader(new FileReader(f1));
BufferedReader r2 = new BufferedReader(new FileReader(file2));
File tmp = new File(tmpFile);
BufferedWriter writer = new BufferedWriter(new FileWriter(tmp));
String line1=null,line2=null;
while((line1=r1.readLine())!=null){
writer.write(line1);
line2=r2.readLine();
if(line2!=null){
writer.write(separator);
writer.write(line2);
}
}
r1.close();
writer.close();
f1.delete();
tmp.renameTo(f1);
r2.close();
while((line1=r1.readLine())!=null){
writer.write(line1);
line2=r2.readLine();
if(line2!=null){
writer.write(separator);
writer.write(line2);
}
writer.newLine();
}