AllodalStateException при использовании класса маттера JavaJAVA

Программисты JAVA общаются здесь
Anonymous
AllodalStateException при использовании класса маттера Java

Сообщение Anonymous »

Я пытаюсь получить веб-страницу, загрузить ее в строитель строк, используя буферный читатель, а затем использую регуляцию для поиска и извлечения слов или в этом случае групп слов (такие имена отдела, такие как компьютерная наука, электрическая инженерная и т. Д.) Я использую шаблон и класс маттера, который предоставляет Java, но сталкиваюсь с незаконной статовой. Я довольно давно смотрел на этот код и хотел бы немного свежей взгляды на то, в чем может быть проблема. Я знаю, что это как -то связано с методами m.find () и m.group () . Любая помощь будет очень признателен.public class Parser{

static StringBuilder theWebPage;
ArrayList courseNames;
//ArrayList courseObjects;

public static void main(String[] args)
{
Parser p = new Parser();

theWebPage = new StringBuilder();
try {
URL theUrl = new URL("http://ocw.mit.edu/courses/");
BufferedReader reader = new BufferedReader(new InputStreamReader(theUrl.openStream()));
String str = null;

while((str = reader.readLine())!=null)
{
theWebPage.append(" ").append(str);
//System.out.println(theWebPage);
}
//System.out.println(theWebPage);
reader.close();

} catch (MalformedURLException e) {
System.out.println("MalformedURLException");

} catch (IOException e) {
System.out.println("IOException");
}

p.matchString();
}

public Parser()
{
//parserObject courseObject = new parserObject();
//courseObjects = new ArrayList();
courseNames = new ArrayList();
//theWebPage=" ";
}

public void matchString()
{
String matchRegex = "#\\w+(-\\w+)+";
Pattern p = Pattern.compile(matchRegex);
Matcher m = p.matcher(theWebPage);
int i=0;
int x=0;
//m.reset();

while(!(m.matches()))
{
System.out.println("inside matches method " + i);
try{

m.find();
x = m.end();
System.out.println( m.group());
PrintStream out = new PrintStream(new FileOutputStream("/Users/xxxx/Desktop/output.txt"));
System.setOut(out);

//courseNames.add(i,m.group());

i++;
}catch(IllegalStateException e)
{
System.out.println("IllegalStateException");
} catch (FileNotFoundException e) {
System.out.println("FileNotFound Exception");
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/119 ... cher-class

Вернуться в «JAVA»