filesorter.java

来自「Hibernate开发及整合应用大全 蔡雪焘编著 本书用典型的示例剖析Hiber」· Java 代码 · 共 48 行

JAVA
48
字号
import java.io.*;
import java.util.*;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
public class FileSorter extends Task {
    private File file;	//和<filesorter>标签中的file属性相对应
    private File tofile;//和<filesorter>标签中的tofile属性相对应

    // 执行任务的方法
    public void execute() throws BuildException {
        System.out.println("Sorting file=" + file);
        try {
            BufferedReader from = new BufferedReader(new FileReader(file));
            BufferedWriter to = new BufferedWriter(new FileWriter(tofile));
            List allLines = new ArrayList();
            // 从src/input.txt中读取数据
            String line = from.readLine();
            while (line != null) {
                allLines.add(line);
                line = from.readLine();
            }
            from.close();
            //把allLines排序,这也是任务所要求的功能
            Collections.sort(allLines);
            //把排好序的集合输出到classes/output.txt文件
            for (ListIterator i = allLines.listIterator(); i.hasNext();) {
                String s = (String) i.next();
                to.write(s);
                to.newLine();
            }
            to.close();
        } catch (FileNotFoundException e) {
            throw new BuildException(e);
        } catch (IOException e) {
            throw new BuildException(e);
        }
    }

    //file属性的set方法
    public void setFile(File file) {
        this.file = file;
    }

    // tofile属性的set方法
    public void setTofile(File tofile) {
        this.tofile = tofile;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?