我正在尝试将每个单词作为令牌存储到哈希图中。但是,有时会存储每个单词,有时会连续存储几个单词,有时甚至不存储字符。
public static void main(String[] args) {
try {
File file = new File("jarg2912.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StreamTokenizer sT = new StreamTokenizer(bufferedReader);
sT.eolIsSignificant(true);
sT.whitespaceChars(' ', 0);
HashMap<String, Object> hashMap = new HashMap<String, Object>();
while(sT.nextToken() != StreamTokenizer.TT_EOF) {
if (sT.ttype == StreamTokenizer.TT_NUMBER) {
hashMap.put(String.valueOf(sT.nval), sT);
} else {
hashMap.put(sT.sval, sT);
}
}
fileReader.close();
System.out.println("Index:");
for (String key : hashMap.keySet()) {
System.out.println(key);
}
} catch (IOException e) {
e.printStackTrace();
}
}
当前输出:
Plea
s own typed input. Compare
Member
s bitmapped terminal the words "THE BAG" in
tenure
versa
readable
as a qualifier. "When is the system coming up?"
natures
indirect
Sun.
goes
behaviors
t. The result is gossipy, funny,
datagram
idiosyncrasies
posed
reader.
general.
s last {{ITS}} machines, the one on the upper
obtusity
chances
crosstalk
rods
herself
potentially
but....
annoyance.
database-theory
Haven
covering
instances
Generic
prosyletic
Editing
computer-science
weakly
tune
cam
stampe
iterating.
aware
can
numerical
eXchange
aficionados.
award
stoppage
TM-postfix
23.0
mega-
car
floating
cat
. Reports from {old fart}s are consistent that
flew
alarm
behavior.
stamps
depersonalization
carried
cleaning
Fnord.
Suns
Morse-code
motion
closed.
BAD
has been adopted, retaining the DDT abbreviation.
s surroundings again
998.0
heavy-metal
apostrophes
distracted
Dick
poseurs
clothes
fragment
carrier
BAR
carries
response
independently
TENEX.
我需要能够存储每个符号,数字和单词作为令牌,但是我不确定为什么它不起作用。
文件的一部分:
x 这是行话档案,黑客语的完整摘要 阐明了骇客文化,民俗和幽默的许多方面。
此文档(专业术语)是公共领域,可以自由获取 使用,共享和修改。 (有意)没有合法的 限制您可以使用它做什么,但是关于 它是许多黑客都非常重视的适当用途。 引用文件时,请提供适当的引用, 理想情况下使用版本号,因为版本号会随着时间的变化而增长。 (适当引用形式的示例:“ Jargon File 2.9.12”或 “在线黑客行话档案,版本2.9.12,1993年5月10日”。)
行话档案是黑客文化的共同遗产。 多年来,许多人自愿提供了 维护文件的时间,并被网络广泛认可 作为它的编辑。编辑职责包括:整理 他人的贡献和建议;寻找佐证 信息;交叉引用相关条目;将文件保存在 格式一致;并宣布和分发更新的版本 定期地。当前的志愿者编辑包括:
答案 0 :(得分:0)
将sT.whitespaceChars(' ', 0)
更改为sT.whitespaceChars(0, ' ')
,并将sT.eolIsSignificant(true)
更改为sT.eolIsSignificant(false)
。
此外,您应该使用HashSet,而不是HashMap。