Java 使用bufferedreader读取包含多行的文本

Java 使用bufferedreader读取包含多行的文本,java,Java,我想知道如何使用BufferedStreamReader读取java中包含多行的文本文件。 每行有两个单词,用(;)分隔,我想使用split()String操作来分隔这两个单词。我还需要将每个单词与主数组列表中的一个单词进行比较。 我无法继续下去 这是我的密码: { FileInputStreamReader f = new FileInputStreamReader(C://Desktop/test.txt); InputStreamReader reader = new InputStr

我想知道如何使用BufferedStreamReader读取java中包含多行的文本文件。 每行有两个单词,用(;)分隔,我想使用
split()
String操作来分隔这两个单词。我还需要将每个单词与主数组列表中的一个单词进行比较。 我无法继续下去

这是我的密码:

{

FileInputStreamReader f = new FileInputStreamReader(C://Desktop/test.txt);

InputStreamReader reader = new InputStreamReader(f);

BufferedReader Buff = new BufferedReader (reader);

String Line = buff.readLine();

String t[] = Line.split(;);

}   

你需要一个while循环来阅读所有的行。 下面是一个例子

试试看

while((line=buff.readLine())!=null){
   System.out.println(line);
}
替换

String Line = Buff.readLine();

现在,您已经将整个文件读入
StringBuffer
,您可以随心所欲


希望这有帮助。

您可以使用BufferedReader循环指定文件中遇到的每一行。为了将单词按“;”分割,可以使用
.split
并将结果数组存储在列表中

最后,将所有列表合并为一个列表,该列表将包含文件中的所有单词

List<String> words = Arrays.asList(line.split(";"));
list.addAll(words);
上述陈述也可以反过来使用;以防该文件包含单词的主列表。或者,您可以将这两个列表存储在临时列表中,并根据需要以任何方式进行比较

以下是完整的代码:

public static void main(String[] args) {
        String line;

        // List of all the words read from the file
        List<String> list = new ArrayList<String>();
        // Your original mast list of words against which you want to compare
        List<String> masterList = new ArrayList<String>(Arrays.asList("cleaner",
                "code", "java", "read", "write", "market", "python", "snake",
                "stack", "overflow"));

        BufferedReader reader;

        try {
            reader = new BufferedReader(new FileReader("testing.txt"));

            while ((line = reader.readLine()) != null) {
                // Add all the words split by a ; to the list
                List<String> words = Arrays.asList(line.split(";"));
                list.addAll(words);
            }

            // Compare the 2 lists, assuming your file list has less number of
            // records
            masterList.removeAll(list);

            System.out.println(masterList);

            reader.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
上述代码的输出:

cleaner;code
java;read
write;market
python;snake
[stack, overflow]
cleaner;code
java;read
write;market
python;snake
[stack, overflow]