java判断文件名称重复

java判断文件名称重复

问:java如何判断俩个文件是否相同的?
  1. 答:分别打开2个文件,读取,按字节一个个对比,都一致就判断为相同。
  2. 答:一楼的方法有点浪费时间。
    给你一个建议吧,,文件采用固定的格式组织,然后读固定的位置的值,如果一样的话你可以认为相等。。。。
    就像如果你要比较 两个 自定义java 对象是否相等,必须覆盖 equals() 方法,,自己定义比较规则。
  3. 答:计算两文件的MD5值,如果MD5值一致表示一样。
    public static String getFileMD5(File file) {
    if (!file.isFile()) {
    return null;
    }
    MessageDigest digest = null;
    FileInputStream in = null;
    byte buffer[] = new byte[1024];
    int len;
    try {
    digest = MessageDigest.getInstance("MD5");
    in = new FileInputStream(file);
    while ((len = in.read(buffer, 0, 1024)) != -1) {
    digest.update(buffer, 0, len);
    }
    in.close();
    } catch (Exception e) {
    e.printStackTrace();
    return null;
    }
    BigInteger bigInt = new BigInteger(1, digest.digest());
    return bigInt.toString(16);
    }
问:java编程:再上传文件的时候,怎样判断所上传到的文件夹里有没有跟上传文件同名的文件,如果有的话需要在
  1. 答:String[] fileName =zipEntryName.split("\\."); // 文件名
    outPath = (descDir+"/"+zipEntryName).replaceAll("\\*", "/");//存储路径
    for(int i=1;i<999999999;i++){ //
    File files = new File(outPath);
    if(files.exists()){
    outPath = (descDir+"/"+fileName[0]+"("+i+")."+fileName[1]).replaceAll("\\*", "/");
    } else{
    break;
    }
    }
    //写入文件
    InputStream in = zip.getInputStream(entry);
    OutputStream out = new FileOutputStream(outPath);
    byte[] buf1 = new byte[1024];
    int len;
    while((len=in.read(buf1))>0){
    out.write(buf1,0,len);
    }
    in.close();
    out.close(); }
  2. 答:一般的做法是 上传的时候 文件名会加上日期什么的 不会让他重复
  3. 答:这样判断对服务器的压力是比较大的,比较好的做法是上传的时候给文件名加上时间后缀或者唯一码后缀。
问:怎么遍历两个文件夹中的文件名是否相同(不是内容),如果有相同的输出到新的文件夹。JAVA代码。
  1. 答:不会输入进去的 文件夹相同的话 后进去的就提示 是否代替 怎么会让你分辨呢 你确定是文件夹不是文件么 文件格式不同 用格式辨别
  2. 答:这个不用遍历吧,File类里有一个方法可以得到某文件夹的文件集合
java判断文件名称重复
下载Doc文档

猜你喜欢