腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

[其他] JVAV怎么判断如何判断两个文本内容是否相同

0
回复
648
查看
[复制链接]

691

主题

705

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
31863
     紫钻仅向指定用户开放  
发表于 19-7-12 19:18:23 | 显示全部楼层 |阅读模式
JVAV怎么判断如何判断两个文本内容是否相同??$ m2 U& i5 s8 R; I$ Z
直接上代码:
. b1 X$ e1 `" Y+ G2 h0 R2 I& l. ?2 v- ^! t
public boolean isSameFile(String fileName1,String fileName2){& q# a& W8 I6 D6 R* X
  FileInputStream fis1 = null;2 ?* W  ]: t3 W6 |3 E* L
  FileInputStream fis2 = null;
. ?2 u- L: P0 ^  try {
8 X9 j( I9 T$ _  d8 X8 d/ T% Y   fis1 = new FileInputStream(fileName1);
: h$ ^& O4 X. g0 Y   fis2 = new FileInputStream(fileName2);
% S$ ]" E' P7 h* D  a   % Q7 a5 V# U  T2 [  j! D; g
   int len1 = fis1.available();//返回总的字节数- l# I) C/ I# }; w% q- L
   int len2 = fis2.available();, c" D# S9 e7 K# v2 h+ V+ u
   + O' ?; \# W! E  L( S! X
   if (len1 == len2) {//长度相同,则比较具体内容
0 g* [% j' j3 w. M    //建立两个字节缓冲区; C; L6 j. m5 y5 v" h% o7 b
    byte[] data1 = new byte[len1];/ A* G& y; i% [' t" k
    byte[] data2 = new byte[len2];& e+ k- i- [' ~- {0 ^
   
4 k4 l6 R  Z' K0 u9 B: K    //分别将两个文件的内容读入缓冲区5 k0 ?8 I. z& p6 f
    fis1.read(data1);9 ^# _; j+ w- P$ C5 J; `7 c2 H
    fis2.read(data2);
$ b( Y) h4 V+ b' ^   
2 v8 {5 a3 i, D5 L$ ^' j8 F    //依次比较文件中的每一个字节
8 E' |2 A% B0 V+ p8 ^$ |5 Y    for (int i=0; i<len1; i++) {
. Z/ q  K' a1 f     //只要有一个字节不同,两个文件就不一样
9 J  i3 W' y( K" A! b! q# I     if (data1[i] != data2[i]) {( X9 p( s; _) N4 k! N( z
      System.out.println("文件内容不一样");
3 l% S0 {& y7 I5 }      return false;# e' W; H  d9 ^$ ?7 C; `- l
     }9 E' B1 o  m+ j- h: w' U
    }% g( I$ V1 Y1 h* _3 r) ^
    System.out.println("两个文件完全相同");/ L6 R+ s- d0 k* R6 o
    return true;
4 u  t' h6 r  J; l5 X0 A/ p& d& t* Q3 h   } else {$ E) p% N3 o8 [0 n3 O
    //长度不一样,文件肯定不同5 G2 B/ d$ P- g
    return false;
! C' H& v. X# m( C, |( d9 ~& p' r  z1 Z   }. f' C1 y2 |- T  b- F6 G% @  a
  } catch (FileNotFoundException e) {
- `3 U- _: d; {- }9 u   e.printStackTrace();; B- E8 J" t) q  c% N
  } catch (IOException e) {
+ G% G1 z+ }) A! Z* L/ v9 a; K   e.printStackTrace();
/ \' a2 u" j& {! v  } finally {//关闭文件流,防止内存泄漏
. h3 a( P7 _. ]9 {/ S: j: C& B   if (fis1 != null) {$ x8 N1 @0 F( m
    try {& Q# ]  e; e. r3 J; p2 S/ ~
     fis1.close();) H, k2 i, h' ^6 P4 c; j
    } catch (IOException e) {
" I% p9 m/ ?: d3 n     //忽略. T! d1 \# s# s( e# W1 l
     e.printStackTrace();$ I, W+ @" j% ]; n1 R
    }
: [4 e0 x3 g  ^  Z$ ]5 F: U   }# p5 N: l, Y# M% j. r# H" j( p
   if (fis2 != null) {
& q( o# }9 X  ~6 ~2 \- u2 {  k$ j) y1 K    try {/ U3 C9 R; A9 Z% G: t3 r5 O3 w
     fis2.close();0 r2 u- d* W- g! J1 t+ W; j
    } catch (IOException e) {
( i9 j* i5 E! b* ~6 w     //忽略
: F$ r  [+ g5 F2 b3 ~5 D     e.printStackTrace();# K& }' K, F( G% a
    }
( c# b! b1 w) `# @( A   }) k  W1 R% y7 [: q' b/ L: w
  6 Q2 L2 M" F' l& _
  return false;1 P& [( J4 p5 b% h. \
}$ s, ], R% e3 `8 n7 a# U4 S0 e
$ a( ]& _6 L# i' @# c

qiuqiufa.com

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除