package syntaxLearner.corpus.source;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
import syntaxLearner.UI.Console;
public class PlainTextFile extends CorpusSource {
Scanner sc;
public PlainTextFile(String fileFullPath) {
super(fileFullPath);
source = new File(fileFullPath);
isOpen = false;
}
public PlainTextFile(File f){
super(f);
isOpen = false;
}
@Override
public String readSentence() {
return sc.next();
}
@Override
public void seekToStart() {
// TODO Auto-generated method stub
}
@Override
public boolean open() {
if (!isOpen){
try {
FileReader fr = new FileReader(source);
BufferedReader br = new BufferedReader(fr);
sc = new Scanner(br).useDelimiter("[\\.\\,\\;\\!\\?\\\"\\“\\”]+?"); // removed \\\'
isOpen = true;
} catch (FileNotFoundException e) {
Console.line("ERROR: File not found at "+source.getAbsolutePath());
//e.printStackTrace();
}
}
return isOpen;
}
@Override
public boolean close() {
sc.close();
isOpen=false;
return !isOpen;
}
@Override
public boolean hasNext() {
if (isOpen && !wasRead){
return sc.hasNext();
} else {
return false;
}
}
}