Need Some Help With This Java Code Please Help -------------------- File2 ------
ID: 3671019 • Letter: N
Question
Need Some Help With This Java Code Please Help
--------------------
File2
-----------------
import java.io.*;
import java.util.Scanner;
public class File12
{
public static void main(String[] args) throws IOException
{
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter first file's name: ");
String file1 = keyboard.next();
System.out.print("Enter second file's name: ");
String file2 = keyboard.next();
System.out.println(" ");
File inputFile1 = new File(file1);
Scanner infile1 = new Scanner(inputFile1);
File inputFile2 = new File(file2);
Scanner infile2 = new Scanner(inputFile2);
compareFiles(infile1,infile2);
}
public static void compareFiles(Scanner infile1, Scanner infile2) throws IOException
{
int counter = 1;
String line1 = readFrom(infile1);
String line2 = readFrom(infile2);
while(line1 != null && line2 != null)
{
int answer = line1.compareTo(line2);
if(answer != 0)
{
System.out.println("Difference found in line " + counter);
printLine("<",line1);
printLine(">",line2);
}
if(line1.hasNext() && line2.hasNext())
{
line1 = readFrom(infile1);
line2 = readFrom(infile2);++;
}
else
break;
}
}
public static String readFrom(Scanner infile) throws IOException
{
String line = infile.nextLine();
if(line==null)
return null;
else
return line;
}
public static void printLine(String prefix, String line)
{
System.out.println(prefix + line);
}
}
Explanation / Answer
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class FileComp {
public static void main(String args[]) throws Exception {
Scanner sc=new Scanner(System.in);
String file1,file2;
int counter=1;
//Input both file names
System.out.println("Enter first file name");
file1=sc.nextLine();
System.out.println("Enter Second file name");
file2=sc.nextLine();
//read both files into file input stream
FileInputStream fstream1 = new FileInputStream(file1);
FileInputStream fstream2 = new FileInputStream(file2);
DataInputStream in1= new DataInputStream(fstream1);
DataInputStream in2= new DataInputStream(fstream2);
BufferedReader br1 = new BufferedReader(new InputStreamReader(in1));
BufferedReader br2 = new BufferedReader(new InputStreamReader(in2));
String strLine1, strLine2;
//compare both files
while((strLine1 = br1.readLine()) != null && (strLine2 = br2.readLine()) != null){
if(!strLine1.equalsIgnoreCase(strLine2)){
//print the line number
System.out.println("Line number :"+counter);
System.out.println(strLine1);
}
counter++;
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.