栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

<JAVA基础><I&O练习>JAVA 比较两个文本文件, 如果不同,从第一次出现不同的地方开始打印两个文本文件。

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

<JAVA基础><I&O练习>JAVA 比较两个文本文件, 如果不同,从第一次出现不同的地方开始打印两个文本文件。

package d2;

import java.io.File;
import java.io.FileInputStream;

public class Practice1 {
	public static boolean compareTextFiles(FileInputStream fin1, FileInputStream fin2)
      throws Exception {
		int f1 = fin1.read();
		int f2 = fin2.read();
		while ((char)f1 == (char)f2) {    
			if (f1 == -1) {    //如果f1和f2都指向文件末尾
				return true;
			}else {
				f1 = fin1.read();
				f2 = fin2.read();
				continue;
			}
		}
		//f1或f2开始不同
		System.out.println("textfile 1:");
		while (f1 != -1) {
			System.out.print((char)f1);
			f1 = (int)fin1.read();
		}
		System.out.println("n-----------------");
		System.out.println("textfile 2:");
		while (f2 != -1) {
			System.out.print((char)f2);
			f2 = (int)fin2.read();
		}
		System.out.println("n-----------------");
		return false;
	}
}

用两个文本文档来测试:

 main方法:

package d2;

import java.io.File;
import java.io.FileInputStream;

public class Driver {
    public static void main(String[] args) throws Exception{
		FileInputStream fin1 = new FileInputStream(new                             
          File("C:\Users\Perry\Desktop\randomv2.1\test1.txt"));
		FileInputStream fin2 = new FileInputStream(new 
          File("C:\Users\Perry\Desktop\randomv3\test2.txt"));
		System.out.print(Practice1.compareTextFiles(fin1,fin2));
    }
}

输出结果:

 两个文本从world里的ld开始不一样,输出结果正确!

结束。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913964.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号