All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.swabunga.spell.tokenizer.FileWordTokenizer Maven / Gradle / Ivy

The newest version!
/*
Jazzy - a Java library for Spell Checking
Copyright (C) 2001 Mindaugas Idzelis
Full text of license can be found in LICENSE.txt

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 */
package com.swabunga.spell.tokenizer;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

import com.swabunga.spell.WordFinder;
import com.swabunga.spell.WordNotFoundException;


/**
 * This class tokenizes a input file.
 * 
 * 

* Any takers to do this efficiently?? doesn't need to replace any words to * start with. I need this to get an idea of how quick the spell checker is. *

*/ public class FileWordTokenizer extends AbstractWordTokenizer { // ~ Instance/static variables // ............................................... // private File inFile; // ~ Constructors // ............................................................ /** * Creates a new FileWordTokenizer object. * * @param inputFile the file to work upon */ public FileWordTokenizer(File inputFile) { super(stringValue(inputFile)); } /** * Creates a new FileWordTokenizer object and associate a WordFinder to it's * processing. * * @param inputFile the file to word upon. * @param finder the specialize processing for words. */ public FileWordTokenizer(File inputFile, WordFinder finder) { super(finder); finder.setText(stringValue(inputFile)); } // ~ Methods // ................................................................. /** * Replaces the current word token * * @param s the new string * @throws WordNotFoundException current word not yet set. */ public void replaceWord(String s) { } private static String stringValue(File inFile) { StringBuilder out = new StringBuilder(""); try { BufferedReader in = new BufferedReader(new FileReader(inFile)); char[] c = new char[100]; int count; while ((count = in.read(c, 0, c.length)) != -1) { out.append(c, 0, count); } in.close(); } catch (IOException e) { System.err.println("File input error trying to open " + inFile.toString() + " : " + e); } return out.toString(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy