java 写入txt问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 03:00:52
将两个txt文件中的不同行(同行相比较)写到第三个txt文件中(其实就是两个文件的合并,相同行只显示一行,不同行标记就行了),我的代码中怎么也写不到第三个txt中,不知道为什么,高手们指点指点,给出详细解答,

import java.io.*;
import java.io.FileWriter;
import java.nio.charset.Charset;
public class FindString {
public static void main(String[] args) {
BufferedReader in_1=null;
BufferedReader in_2=null;
String str=new String();
if(args.length!=2)
{
System.err.println("命令行格式:java FindString 文件名1 文件名2");
System.exit(0);
}
try{
String str1,str2,str3="****************************";
int lineNo=0;
in_1=new BufferedReader(new FileReader(args[0]));
in_2=new BufferedReader(new FileReader(args[1]));
while(true)
{
//FileWriter fw = new FileWriter("D://yourText.txt");
//File f = new File("D://yourText.txt");
//FileOutputStream os = new FileOutputStream(f);
//DataOutputStream writ

很简单 把你的
BufferedWriter writer =
new BufferedWriter(new FileWriter(new File("D://yourText.txt")));
挪到while循环语句的上面
writer.close();
挪到while循环语句的下面

覆盖了 在里面的话每次都生成一个新的输出流 写入的东西都覆盖了

//这样就可以了,你弄的太麻烦啦啊
import java.io.*;
import java.util.*;
public class Test3 {
public static void main(String[] args) throws IOException
{
Set<String> map=new LinkedHashSet<String>();
Scanner sc=new Scanner(new File("D:\\Data1.txt"));
while(sc.hasNextLine()){
map.add(sc.nextLine());
}
sc=new Scanner(new File("D:\\Data2.txt"));
while(sc.hasNextLine()){
map.add(sc.nextLine());
}
FileWriter fw=new FileWriter(new File("D:\\Data3.txt"));
for(String s:map){
fw.write(s+"\r\n");
}
fw.flush();
sc.close();
}
}

太难了

高手哦