gpt4 book ai didi

java - 从 Java 中的 .txt 文件导入字符串时每隔一行跳过一行

转载 作者:行者123 更新时间:2023-12-04 10:29:41 25 4
gpt4 key购买 nike

我正在尝试从 50,000 行的 .txt 文件中导入字符串。 txt 文件中的每一行都只有一个字符串,所有字母都是小写字母,字母之间没有空格。我在下面编写的代码正在运行,但有一个奇怪的问题,它跳过 .txt 文件的每一行(特别是偶数行)。如果有人可以帮助我确定我哪里出错了,将不胜感激。

import java.awt.List;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
import java.util.Set;

public class WordRecommender {

StringBuilder sb = new StringBuilder();
String strLine = "";
ArrayList<Word> objectArray = new ArrayList<Word>();
try {
BufferedReader br = new BufferedReader(new FileReader("engDictionary.txt"));
while (strLine != null)
{
strLine = br.readLine();
sb.append(strLine);
sb.append(System.lineSeparator());
strLine = br.readLine();
if (strLine==null)
break;
objectArray.add(new Word(strLine));
}
br.close();
} catch (FileNotFoundException e) {
System.err.println("File not found");
} catch (IOException e) {
System.err.println("Unable to read the file.");
}
import java.util.ArrayList;

public class Word {

String wordName;
ArrayList<Character> uniqueLetters;

public Word(String string) {
ArrayList<Character> tempArray = new ArrayList<Character>();

for (int i = 0; i < string.length(); i++) {
tempArray.add(string.charAt(i));
}

this.wordName = string;
this.uniqueLetters = tempArray;
}

最佳答案

在 while 循环中,您正在阅读 2 行并仅附加一行。你可以这样做:

while (strLine != null) {
strLine = br.readLine();
if (strLine==null)
break;
sb.append(strLine);
sb.append(System.lineSeparator());
objectArray.add(new Word(strLine));
}

关于java - 从 Java 中的 .txt 文件导入字符串时每隔一行跳过一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60471962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com