⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 verbcatalog.java

📁 A verb manager in French.
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package velephant.business;import java.io.*;import java.util.ArrayList;import java.util.Collections;import javax.swing.JOptionPane;import velephant.utils.*;/** * * @author Doan Chien Thang */public class VerbCatalog {    public static final int NUM_OF_VERBS_PER_INDEX_FILE = 30;    private ArrayList<Verb> verbs = new ArrayList<Verb>();    public VerbCatalog(String dictFile) throws IOException {        BufferedReader reader = new BufferedReader(new FileReader(dictFile));        String line;        while ((line = reader.readLine()) != null)            verbs.add(new Verb(line));    }    public ArrayList<Verb> getVerbs() {        return verbs;    }    public void addVerb(Verb verb) {        verbs.add(verb);        Collections.sort(verbs, new VerbComparator());    }    public Verb getVerb(String verbName) {        for (int i = 0; i < verbs.size(); i++)            if (verbs.get(i).infinitif().compareTo(verbName) == 0)                return verbs.get(i);        return null;    }    public void deleteVerb(String verbName) {        Verb verb = getVerb(verbName);        if (verb != null)            verbs.remove(verb);        Collections.sort(verbs, new VerbComparator());    }    public void updateVerb(Verb verb, String conjugaisons[]) {        int index = verbs.indexOf(verb);        verbs.get(index).setConjugaisons(conjugaisons);        Collections.sort(verbs, new VerbComparator());    }    public void export(String toDir) {        ArrayList<Conjugaison> conjugaisons = new ArrayList<Conjugaison>();        Collections.sort(this.verbs, new VerbComparator());        try {            BufferedWriter writer = new BufferedWriter(                    new FileWriter(toDir + "\\dict.csv"));            for (int i = 0; i < verbs.size(); i++)                if (i < verbs.size() - 1)                    writer.write((i + 1) + verbs.get(i).getDictForm() + "\n");                else                    writer.write((i + 1) + verbs.get(i).getDictForm());            writer.close();            for (int i = 0; i < verbs.size(); i++) {                Verb verb = verbs.get(i);                conjugaisons.addAll(verb.getConjugaisons(i + 1));            }            Collections.sort(conjugaisons, new ConjugaisonComparator());            for (int i = 0; i < conjugaisons.size(); i++)                System.out.println(conjugaisons.get(i).toString());            int index = 0;            int numOfIdxFiles = conjugaisons.size() /                    VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE + 1;            for (int i = 0; i < numOfIdxFiles; i++) {                String indexFile = "idx_" + (i + 1);                writer = new BufferedWriter(                            new FileWriter(toDir + "\\" + indexFile + ".csv"));                for (int j = 0; j < VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE; j++)                    if (j < VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE - 1 &&                    i * VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE + j <                    conjugaisons.size())                        writer.write(conjugaisons.get(                                i * VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE +                                j).toString() + "\n");                    else if (i * VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE + j <                    conjugaisons.size())                        writer.write(conjugaisons.get(                                i * VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE +                                j).toString());                writer.close();            }            /*            for (int i = 0; i < conjugaisons.size(); i++) {                if (i % VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE == 0) {                    index++;                    String indexFile = "idx_";                    indexFile += index;                    writer = new BufferedWriter(                            new FileWriter(toDir + "\\" + indexFile + ".csv"));                }                if (i < conjugaisons.size() - 1)                    writer.write(conjugaisons.get(i).toString() + "\n");                else                    writer.write(conjugaisons.get(i).toString());                if (i + 1 % VerbCatalog.NUM_OF_VERBS_PER_INDEX_FILE == 0)                    writer.close();            } */        } catch (IOException e) {            System.err.println(e.getMessage());        }    }    public void saveTo(String toFile) {        try {            BufferedWriter writer = new BufferedWriter(new FileWriter(toFile));            for (int i = 0; i < verbs.size(); i++) {                String v = verbs.get(i).getDictForm();                v = v.substring(2, v.length() - 1);                if (i < verbs.size() - 1)                    writer.write(v + "\n");                else                    writer.write(v);            }            writer.close();        } catch (IOException e) {            JOptionPane.showMessageDialog(null, "Erreur de fichiers");        }    }    public static void main(String args[]) {        try {            VerbCatalog catalog = new VerbCatalog("D:\\verbes.txt");//            for (int i = 0; i < catalog.getVerbs().size(); i++)//                System.out.println(catalog.getVerbs().get(i).getDictForm());            //System.out.println(catalog.getVerbs().get(0).getTense("aille"));            catalog.export("D:\\temp");        } catch (IOException e) {            System.out.println(e.getMessage());        }    }}

⌨️ 快捷键说明

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