我有一个程序应该采用run参数中指定的文本文件,并在不同的行上一次打印一个单词。除了破折号( - )和撇号(')之外,它应该省略任何特殊字符。
我基本完成了程序,只是我只能打印文件的第一行文字。
以下是文本文件中的内容:
这是输入文件的第一行。它有 不止一行!
以下是我正在使用的运行参数:
java A1 A1.txt
这是我的代码:
// Client code for reading individual messages from a TCP connection
byte type = din.readByte();
// Read the message length, little-endian.
// We cannot use din.readShort because it's big-endian
int lenLo = din.read();
int lenHi = din.read();
short len = (short)(lenLo | (lenHi << 8));
byte [] body = new byte[len];
din.readFully(body);
答案 0 :(得分:1)
您只需拨打readLine()
一次!所以你只是通过输入文件的第一行读取和解析。然后程序结束。
你想要做的是把它扔进一个while循环并读取文件的每一行,直到你到达终点,如下:
while((s = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(s);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
基本上,这意味着“,而下一行要读取,请使用该行执行以下操作”。