import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Luanxu {
public static void main(String[] args) {
try {
        FileReader fr=new FileReader("C:/a.txt");
        BufferedReader br=new BufferedReader(fr);
        
        String s="";
        List list=new ArrayList();
        while((s=br.readLine())!=null)list.add(s);
        Collections.shuffle(list);
   
        FileWriter fw=new FileWriter("C:/b.txt");
        
        for(int i=0;i<list.size();i++)
         fw.write(list.get(i)+"\n");//按行输出
        fw.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
}//按行输出  那儿实现不了 输出到b.txt 的文本没有分行

解决方案 »

  1.   

    fw.write(list.get(i)+"\n");//按行输出
    给为
    fw.write(list.get(i)+"\r\n");//按行输出
      

  2.   

    JDK log记录实现的源码 有这一段private String lineSeparator = (String) java.security.AccessController.doPrivileged(
                new sun.security.action.GetPropertyAction("line.separator"));那么用它来作为换行符来输出。问题应该可以解决! (我要上课了 就不写了)   fw.write(info);//信息
       fw.write(lineSeparator);//换行