java_读取文件并对数据进行排序并写出

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.io.*;

public class FileNumberSort {

	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String[] args){
		try{
			LineNumberReader file=new LineNumberReader(new FileReader("E:\\JAVA\\File_NumberSort\\num.txt"));//读取文件,其实可以不用绝对路径的
			String s;
			ArrayList list=new ArrayList();
			for(s=file.readLine();s!=null;s=file.readLine()){
				//System.out.println(s);
				list.add(s);//文件内容增加到数组中
			}
			file.close();
			Collections.sort(list, new Comparator() {
			      public int compare(Object o1, Object o2) {
			        return new Double((String) o1).compareTo(new Double((String) o2));
			      }
			});//字符串的排序
			
			BufferedWriter bw=new BufferedWriter(new FileWriter("num_sort.txt"));//写文件
			bw.write("排序后:");
			for(Iterator i=list.iterator();i.hasNext();)
			{
				//System.out.println(i.next());
				bw.write(i.next().toString());
				bw.newLine();
			}
			bw.close();
		}
		catch (IOException e){
			System.err.println("发生异常:"+e);
			e.printStackTrace();
		}
	}
}

1、一开始试了很久都读不到数据,原来是for循环后加多了分号,粗心是硬伤;

2、文件除了可以使用绝对路径外,其实只要放在java工程的文件夹下就好,不用放进src文件中。

你可能感兴趣的:(java)