String name=file.getCanonicalFile().getName()
if(name.equals("迟数大小写敏弯仔感的文件名")){
//TODO:逻辑
}
第一,判读MD5值或SHA-1,以MD5为例,// 计算文件的 MD5 值
publicstatic String getFileMD5(File file) {
if (!file.isFile()) {
return null
}
MessageDigest digest = null
FileInputStream in = null
byte buffer[] = newbyte[8192]
int len
try {
digest =MessageDigest.getInstance("MD5")
in = new FileInputStream(file)
while ((len = in.read(buffer)) != -1) {
digest.update(buffer, 0, len)
}
BigInteger bigInt = new BigInteger(1, digest.digest())
return bigInt.toString(16)
} catch (Exception e) {
e.printStackTrace()
return null
} finally {
try {
in.close()
} catch (Exception e) {
e.printStackTrace()
}
}
}
第二,直接判读内容,代码如仔团下:
public class IOOperation
{
public static void main(String[] args)
{
FileInputStream File1 = null
FileInputStream File2 = null
BufferedReader in = null
String sFile
if(args.length != 2)
{
System.out.println("The command line should be: java IOOperation testX.txt testX.txt")
System.out.println("X should be one of the array: 1, 2, 3")
System.exit(0)
}
try
{
File1 = new FileInputStream(args[0])
File2 = new FileInputStream(args[1])
try
{
if(File1.available() != File2.available())
{
//长度不同内容肯定不同
System.out.println(args[0] + " is not equal to " + args[1])
}
else
{
boolean tag = true
while( File1.read() != -1 &&File2.read() != -1)
{
if(File1.read() != File2.read())
{
tag = false
break
}
}
if(tag == true)
System.out.println(args[0] + " equals to " + args[1])
else
System.out.println(args[0] + " is not equal to " + args[1])
}
}
catch(IOException e)
{
System.out.println(e)
}
}
catch (FileNotFoundException e)
{
System.out.println("File can't find..")
}
finally
{
try
{
if(File1 != null)
File1.close()
if(File2 != null)
File2.close()
}
catch (IOException e)
{
System.out.println(e)
}
}
}
}
这里因为使用了第二种方法所以直和戚哪接用了main函数,代码结构可以再优化。MD5方法用到了以唤码前没有接触到的知识,如MessageDigest、BigInteger等,个人觉得要想了解这些方法最好的方法就是读API文档。
Java中==和equal的区别为:
1、== 表示 判断2个变量或对象实例是否指向同一个内存空间,equals()表示 判断2个变量或对象实例所指向的内存空间的值是否相同。
2、== 表示 对内存地址进行比较,equals()表示 对字符串的内容进行比较。
3、== 表示引用是否相同饥塌,equals() 表示值是否相同。
扩展资料:
Java compareTo() 方法用于两种烂老圆方式的比较:
(1) 字符串与对含旦象进行比较。
(2) 按字典顺序比较两个字符串。
代码示例:
public class Test {
public static void main(String args[]) {
String str1 = "Strings"
String str2 = "Strings"
String str3 = "Strings123"
int result = str1.compareTo( str2 )
System.out.println(result)
result = str2.compareTo( str3 )
System.out.println(result)
result = str3.compareTo( str1 )
System.out.println(result)
} }
以上程序执行结果为:0, -3, 3
参考资料来源: Java官方文档-Class Object-equals()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)