溫馨提示×

怎么用java對比兩個文件內(nèi)容

小億
178
2023-12-12 18:54:13
欄目: 編程語言

可以使用Java的FileInputStream和BufferedReader類來讀取兩個文件的內(nèi)容,并進(jìn)行比較。以下是一個示例代碼:

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class FileComparator {
    public static void main(String[] args) {
        String file1 = "file1.txt";
        String file2 = "file2.txt";
        
        try {
            // 讀取第一個文件的內(nèi)容
            BufferedReader reader1 = new BufferedReader(new InputStreamReader(new FileInputStream(file1)));
            StringBuilder content1 = new StringBuilder();
            String line1;
            while ((line1 = reader1.readLine()) != null) {
                content1.append(line1);
            }
            reader1.close();
            
            // 讀取第二個文件的內(nèi)容
            BufferedReader reader2 = new BufferedReader(new InputStreamReader(new FileInputStream(file2)));
            StringBuilder content2 = new StringBuilder();
            String line2;
            while ((line2 = reader2.readLine()) != null) {
                content2.append(line2);
            }
            reader2.close();
            
            // 比較兩個文件的內(nèi)容
            if (content1.toString().equals(content2.toString())) {
                System.out.println("兩個文件內(nèi)容相同");
            } else {
                System.out.println("兩個文件內(nèi)容不同");
            }
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述代碼中,我們通過FileInputStream和BufferedReader來讀取兩個文件的內(nèi)容,并將每一行的內(nèi)容添加到StringBuilder中。然后,比較兩個StringBuilder對象的內(nèi)容是否相同。如果相同,則輸出"兩個文件內(nèi)容相同",否則輸出"兩個文件內(nèi)容不同"。

0