📄 verbcatalog.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 + -