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

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

4
回复
1713
查看
[复制链接]

763

主题

777

帖子

3万

积分

董事

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

积分
32946
发表于 19-7-12 19:18:23 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
JVAV怎么判断如何判断两个文本内容是否相同??
# t4 c9 U& o* ?! D0 M直接上代码:5 y/ U+ B8 A4 ^, n4 J% S7 k3 ^
" S3 `* ?4 n' H/ c. t% v1 i. L0 n
public boolean isSameFile(String fileName1,String fileName2){
; W3 ?" n, n. f3 c  FileInputStream fis1 = null;# [0 V& e  J8 ^9 n. h$ o
  FileInputStream fis2 = null;
! Y+ k# [: q$ c  O  try {! ^. x( v( n2 B2 p! l
   fis1 = new FileInputStream(fileName1);0 j: g* a9 h2 A; w% `$ s
   fis2 = new FileInputStream(fileName2);$ K& C8 D1 l4 e8 Y
   * P: a3 c: z* e/ \3 m7 n* Q( H
   int len1 = fis1.available();//返回总的字节数
$ L3 T  [" g  l. X$ K. p   int len2 = fis2.available();4 [( J+ i0 D  i8 X# V4 M6 z
   
; R! q$ `# A, I$ Y7 `+ d. p( a$ w   if (len1 == len2) {//长度相同,则比较具体内容
  v! y' H7 R* {    //建立两个字节缓冲区$ v9 S; V; r5 H' A/ f9 Q
    byte[] data1 = new byte[len1];
* x% U2 S% I  L$ G9 |    byte[] data2 = new byte[len2];$ q  [) R! u1 m, s* x) m; `: }
   
/ t) K( ?# |  H. K" w3 ?    //分别将两个文件的内容读入缓冲区
9 D$ Y7 N: [; ?. ~4 R% Y" g    fis1.read(data1);" Y/ n( X' W2 m# {
    fis2.read(data2);; O) c* q0 G2 l3 _( g/ `' ]' U
   
3 ^. g. X1 R; k* x* r" r2 j    //依次比较文件中的每一个字节! ~% w: `, M2 p( D2 c: P% X
    for (int i=0; i<len1; i++) {# i( q8 b/ y- T
     //只要有一个字节不同,两个文件就不一样# O0 S* }" `( G
     if (data1[i] != data2[i]) {- D0 q: M1 B8 s1 O" K
      System.out.println("文件内容不一样");0 [8 J3 e/ y( x4 W! p$ Z  h5 Y! e0 l
      return false;
6 {: @$ o4 j5 ~+ z3 R6 s! E     }
' d0 m( _2 f1 v; `2 a# v    }
; y7 @1 _: |5 ^2 I    System.out.println("两个文件完全相同");
! l, B1 D, U4 O) ?. \' R+ w  d    return true;% k$ u& G% c8 p
   } else {, Y9 m% o+ w. p* g
    //长度不一样,文件肯定不同( U. z* ]+ }; {- x: D; t9 R5 |
    return false;
: t8 J3 T7 l: @8 A3 l: s% u   }9 I# z# W- P% `; i7 n
  } catch (FileNotFoundException e) {
2 t% }9 `. r! M6 l3 F6 n4 s, M* g   e.printStackTrace();0 v1 M/ g& _% r; x; N. h/ Z: D% n
  } catch (IOException e) {* z- o& o# ~8 i" D
   e.printStackTrace();4 [) K. `9 y9 L$ ~  k6 B
  } finally {//关闭文件流,防止内存泄漏
, ]( i! e* h& V5 V" b   if (fis1 != null) {
0 U8 D8 Q8 u! x9 f  Y. h9 t    try {
2 F9 l& L2 V/ k     fis1.close();  p# _0 l% J' ^" c$ ^1 G4 t
    } catch (IOException e) {
# z. o, I" A; r6 Z1 y4 Z! J     //忽略
0 x- s" t1 h1 L: L     e.printStackTrace();
: O5 p2 |5 v' M9 s8 R+ K    }( v, r2 e* w* W7 T
   }) N3 j& E- q  s! b. {5 a
   if (fis2 != null) {
$ H/ p' L8 l. n    try {. ~2 e! `3 r# J( M4 N
     fis2.close();, J1 d4 w( W6 W, z5 M
    } catch (IOException e) {' x; I( ~/ r! \2 G! s+ X
     //忽略
& b7 `* C) M% L  |' f: p" h     e.printStackTrace();
' t) O/ W1 E- o# }& p3 |    }+ |8 O8 G$ E" H4 f9 @3 P$ ^$ u
   }
3 W: b" X% w" Y2 z0 a  
3 S" k6 F, d# u) Y9 X, G  return false;
. }8 K8 a, Q/ e5 W! q5 I }" t! r9 k  Z9 K" b

) m% x) z! I0 p) t; e7 H8 H

0

主题

9

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 19-9-28 19:48:59 | 显示全部楼层         
写的真的很不错
回复

使用道具 举报

0

主题

9

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 19-10-8 01:08:35 | 显示全部楼层         
01:08:35
回复

使用道具 举报

0

主题

7

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 19-10-15 05:31:35 | 显示全部楼层         
找到好贴不容易,我顶你了,谢了
回复

使用道具 举报

0

主题

9

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 19-10-30 19:04:32 | 显示全部楼层         
有竞争才有进步嘛
回复

使用道具 举报

网站简介

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