IO操作

package demo;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

//读取文件内容如下:
//乔巴 6
//娜美 4
//香吉士 5
//路飞 1
//按数字顺序从大到小 将每行信息重新排列后在写入另一个文件中
public class Demo5 {
	public static void main(String[] args) {
		File file1 = new File("D:/mydir/haizei.txt");
		File file2 = new File("D:/mydir/haizei1.txt");
		List<Member> mem = new ArrayList<Member>();
		BufferedReader br=null;
		String s;
		try{
			br=new BufferedReader(new FileReader(file1));
			while((s=br.readLine())!=null) {
				Member m =new Member();
				String[] a=s.split(" ");
				m.name=a[0];
				m.i=Integer.parseInt(a[1]);
				mem.add(m);	
			}
			br.close();
			for(int k=0;k<mem.size();k++){
				for(int j=k+1;j<mem.size();j++){
					if(!mem.get(k).compare(mem.get(j))){
						Member temp=new Member();
						temp.i=mem.get(k).i ;
						temp.name =mem.get(k).name;
						mem.set(k, mem.get(j));
						mem.set(j, temp);
					}
				}
			}
			BufferedWriter bw=new BufferedWriter(new FileWriter(file2));
			for(int k=0;k<mem.size();k++) {
				bw.write(mem.get(k).name+" "+mem.get(k).i);
				bw.newLine();
			}
			bw.flush();
		
		}catch(IOException e) {
			e.printStackTrace();
		}
		
		
		
		}
	}


class Member{
	int i;
	String name;
	public boolean compare(Member m) {
		if(this.i<m.i){
			return true;
		}else return false;
	}
}


看到一道题目自己编程实现了一下。不知这样写好不好。

你可能感兴趣的:(java,编程,J#)