java - 比较文件,然后删除字符较大的文件

标签 java file compare delete-file

我有java比较两个不同的文件,但我希望它获取字符最多的一个并删除另一个。我认为它不应该按文件大小来决定,因为只需添加一个额外的字符就可以具有相同大小的文件..对吗? 如有任何帮助,我们将不胜感激。

这是我的代码:

import java.io.*;  
import java.util.*;  


public class FileComp  
{  

 public static void main (String[] args) throws java.io.IOException  
{  

  BufferedReader br2 = new BufferedReader (new  
InputStreamReader(System.in));  

String str = ("compt1.txt");  

String str1 = ("compt2.txt"); 

String s1="";  
String s2="",s3="",s4="";  
String y="",z="";  


BufferedReader br = new BufferedReader (new FileReader (str));  
BufferedReader br1 = new BufferedReader (new FileReader (str1));  

while((z=br1.readLine())!=null)  
s3+=z;  

while((y=br.readLine())!=null)  
 s1+=y;  

System.out.println ();  


int numTokens = 0;  
StringTokenizer st = new StringTokenizer (s1);  
String[] a = new String[10000];  
for(int l=0;l<10000;l++)  
  {a[l]="";}  
int i=0;  
while (st.hasMoreTokens())  
  {  
    s2 = st.nextToken();  
      a[i]=s2;  
i++;  
        numTokens++;  
  }  

 int numTokens1 = 0;  
 StringTokenizer st1 = new StringTokenizer (s3);  
 String[] b = new String[10000];  
 for(int k=0;k<10000;k++)  
  {b[k]="";}  
 int j=0;  
 while (st1.hasMoreTokens())  
   {  
    s4 = st1.nextToken();  
    b[j]=s4;  
    j++;  
    numTokens1++;  
   }  


int x=0;  
  for(int m=0;m<a.length;m++)  
  {  
if(a[m].equals(b[m])){}  
else  
{  
 x++;  
System.out.println(a[m] + " -- " +b[m]);  
System.out.println();}  
  }  
  //////////////////////////////Change this:
System.out.println("Number of differences " + x);  
if(x>0){System.out.println("Files are not equal");}  
else{System.out.println("Files are equal. No difference found");}  
////////////////////////////////////
}  
}  

最佳答案

使用

File file = new File("File.txt");
long l = file.length();

您可以在文件上使用 length() 方法,该方法返回以字节为单位的大小

每个字符都会占用一定的内存。因此,文件大小不应该相同。

关于java - 比较文件,然后删除字符较大的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31869376/

相关文章:

java - 构建中的 Jenkins View 涵盖多个插件执行(插件开发)

java - 将字符串返回到文本字段

java - IntelliJ 13 不提示为新项目创建模块

java - 即使单元格具有值,cellIterator.hasNext() 也会返回 false

android - 从SD卡读取文件时放在哪里(Android开发)

C++ 比较一个字节和一个字母

java - 用Java写Excel文件

ruby-on-rails - 我如何/应该在配置/环境中包含 Ruby 项目文件依赖项?

objective-c - 比较不同 NSObject 子类的 3 个数组

python - 比较两个目录及其子目录以发现任何更改?