从文件中读取行并比较它们的相等性

时间:2016-11-08 21:04:20

标签: java arrays

我需要编写一个程序来读取文本文件并比较它的行。我想将它们存储在一个数组中,但如果它们相同,我不知道如何进行比较以及如何进行比较。

package pantoum;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Pantoum {

    public static void main(String[] args) throws FileNotFoundException {

        //get filename input from user
        Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter the full file name: ");
        String fileName = keyboard.nextLine();
        File inputFile = new File(fileName);

        if (inputFile.exists()){

            //create scanner to read file
            Scanner input = new Scanner(inputFile);

            //while (input.hasNext());{ 
            String title = input.next();
            System.out.println(title);

        }
        else
        {
            System.out.println("Sorry, that file does not exist.");
        }

    }    
}

3 个答案:

答案 0 :(得分:1)

我个人更喜欢在阅读文本文件时使用缓冲读卡器。

boolean equal=false;
String lines[] =new [10];

// or however long the array needs to be.

int count=0;
BufferedReader infile = new BufferedReader(new FileReader("<Name of file>"));
                do {

                    lines[count] = infile.readLine();
                   count++;
                } while (lines[count] != null);

for(int i=0;i<lines.length();i++) {

for(int j = i+1; j<lines.length()-1;j++){



if(lines[i].equals(lines[j])){
    equal=true; 
    system.out.print(lines[i]+" and "+lines[j]+" are equal");

}}}

if(!equal){
system.out.print("Sorry your text did not equal any text from the text file");
}

我希望这有所帮助,我希望我能够很好地解释所有内容,如果不是随意问的话。

答案 1 :(得分:0)

我个人会将每一行读入String []位置,然后在循环中检查是否String[i].equals(String[j])。如果您需要大致了解如何编码,请告诉我。

答案 2 :(得分:-1)

您可以使用scanner的nextLine()方法获取整行,然后使用String.equals()进行比较

类似

String line1 = input.nextLine();
String line2 = input.nextLine();
if(line1.equals(line2){
   doStuff();
}