我被卡住..我试图用文字解析文件中的文字,但将其保存在对象列表中。是否有可能这样做?
public class Text {
public static List<Words> words = new ArrayList<Words>();
}
public class Words {
private String path;
private String[] inside;
private BufferedReader in;
public Words(String path, String[] inside) {
this.inside = inside;
this.path = path;
}
public String[] splittinIntoWords() throws IOException {
in = new BufferedReader(new FileReader(path));
String s;
while ((s = in.readLine()) != null) {
inside = s.split(" ");
//System.out.println(Arrays.toString(inside));
}
return inside;
}
}
和主要课程
public class Main {
public static void main(String[] args) throws IOException {
String file_name = "book.doc";
String[] inside = null;
Words w = new Words(file_name, inside);
w.splittinIntoWords();
Text.words.add(w); //after add in list i have a reference.
System.out.println(Text.words.toString());
}
}
我确实错了。我知道如何使用字符串列表执行此操作
请告诉我,可以在单词列表中添加文本分割为单词
答案 0 :(得分:0)
你用你读过的每一行覆盖了单词Words.inside
的数组。您需要每次围绕while循环将split()
的输出添加到List中,而不仅仅是在结尾。
我希望您的代码能够显示文件最后一行中的单词,但可能会有一个空白的最后一行,在这种情况下您将看不到任何内容。
另外,我假设你的&#34; book.doc&#34;实际上不是.doc格式的文件 - 文字处理器文件需要特殊的解析;您所写的内容仅适用于纯文本文件。
答案 1 :(得分:0)
您的代码存在一些问题。
是的,我知道这不是答案,但我想指出你正确的方向。从长远来看,这可能对您有所帮助。