如果向文本中用filewrite中的write方法写入"张二   8
                                           王三  4
                                           李四  5"三行数据,如何读出的顺序为"王三  4
  李四  5
  张二   8".急需帮助,在这先谢谢了!

解决方案 »

  1.   

    还有就是write有参数的,你怎么设的呢
      

  2.   

    不好意思,弄错了...不过我试了一下,没有这问题啊
    FileWriter fileWriter = new FileWriter(new String("test.t"));
    fileWriter.write("张二 8\n");
    fileWriter.write("王三 4\n");
    fileWriter.write("李四 5\n");
    fileWriter.close();

    FileReader fileReader = new FileReader("test.t");
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    do {
    String str = bufferedReader.readLine();
    if(str == null) break;
    System.out.println(str);
    } while(true);怀疑你读出的方法不对或者读出来的结果放到没有实现List接口的容器里了
      

  3.   

    这是读取的部分:自己加写必要的判断处理.import java.util.*;
    import java.io.*;public class Test { public static void main(String[] args) throws IOException {
    Scanner scr = new Scanner(new FileReader("1.txt"));
    String[] as = new String[2];
    TreeMap<Integer, String> sm = new TreeMap<Integer, String>();
    while (scr.hasNextLine()) {
    as = scr.nextLine().split("[ ]");
    sm.put(Integer.parseInt(as[1]), as[0]);
    }
    scr.close();
    System.out.println(sm);
    }
    }
      

  4.   

    张二 8
    王三 4
    李四 5
    青书 10
    亮亮 1import java.io.*;
    import java.util.*;class testFileSort{
    public static void main(String []args){
    BufferedReader input=null;
    Set<Person> s=new TreeSet<Person>(new PersonComparator());
    try{
    input=new BufferedReader(new FileReader("d:/data.txt"));
    String buf;
    while((buf=input.readLine())!=null){
    String name=null;
    int num=0;
    StringTokenizer st=new StringTokenizer(buf);
    while(st.hasMoreTokens()){
    name = st.nextToken();
    num = Integer.parseInt(st.nextToken());
    }
    s.add(new Person(name,num));
    }
    }catch(FileNotFoundException e){
    System.out.println("Can't find the file!!!");
    }catch(IOException e){
    e.printStackTrace();
    }finally{
    if(input!=null){
    try{
    input.close();
    }catch(IOException e){}
    }
    }

    Iterator<Person> it=s.iterator();
    for(int i=0;i<s.size();i++){
    System.out.println(it.next());
    }
    }
    }class Person{
    private String name;
    private int num;
    public Person(String n,int num){
    name=n;
    this.num=num;
    }

    public int getNum(){
    return num;
    }
    public String toString(){
    return "Name:"+name+"  Num:"+num;
      }
     
    }class PersonComparator implements Comparator<Person>{
    public int compare(Person o1,Person o2){
    return o1.getNum()-o2.getNum();
    }}