我创建了一个函数,它使用链接列表中的节点将文本文件分配为8个字符的块。代码段(扫描程序b& LinkedList列表已初始化):
b = new Scanner(new BufferedReader(new FileReader("files\\A.txt")));
b.useDelimiter("");
String A = null;
while (b.hasNext()) {
A = null;
A = b.next();
for (int i = 0; i < 7; i++) {
A = A.concat(b.next());
}
list.Insert(A);
文件A.txt读取:
You can do anything, but not everything.
此函数适用于我的文本文件A并创建5个节点(总共40个字符),但如果我在代码中替换它们,它对B.txt或C.txt不起作用。
文件B.txt读取:
You must be the change you wish to see in the world.
文件C.txt读取:
Always forgive your enemies; nothing annoys them so much.
每当我替换B.txt或C.txt时,我都会收到以下错误消息:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at Main.CreateBlocks(Main.java:82)
at Main.main(Main.java:64)
这可能是什么原因?
答案 0 :(得分:1)
因为您尝试读取的字符多于文件中的字符数。 B.txt有52个字符,只有当文件中的字符数是8倍时,你的算法才有效,例如40,就像在A.txt中一样。你必须控制