我需要编写一个程序来读取文本文件并比较它的行。我想将它们存储在一个数组中,但如果它们相同,我不知道如何进行比较以及如何进行比较。
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.");
}
}
}
答案 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();
}