需要比较java bean中文件上传的文件ID(旧文件和新文件)

时间:2015-06-18 10:47:13

标签: java ejb javabeans

我是java的新手。我需要一些建议,检查已存在于文件夹中的文件(如果不存在),然后在java中上传文件else消息。

请举个例子

我这样做让我知道如何比较旧对象和新对象。

public Reaction updateEchemReaction(Reaction reaction) {
    LOGGER.info("updateEchemReaction(Reaction reaction) called");
    entityManager.find(Reaction.class, reaction);
    Reaction oldObject = entityManager.find(Reaction.class, reaction);
    System.out.println("oldObject==========>>"+oldObject.getFileUpload());
    try {
         //if (oldObject == null) {
         if (reaction != null && reaction.getFileUpload() != null
                && reaction.getFileUpload().size() > 0) {

            Set<UUID> fileids = filesUploadBean.updateFiles(
                    reaction.getFileUpload(), reaction.getLabId());

            Set<UUID> fileidsNew = new HashSet<>();

            fileidsNew.addAll(fileids);

            if (reaction.getFileIds() != null) {
                fileidsNew.addAll(reaction.getFileIds());
            }

            reaction.setFileIds(fileidsNew);

        }
        //}
    } catch (Exception e) {
        LOGGER.error(e.getMessage());
}

1 个答案:

答案 0 :(得分:0)

检查文件夹是否存在&amp;&amp;文件是否存在,在哪里       filePathHere-要检查的文件夹

File f = new File(filePathHere);
if(f.exists() && !f.isDirectory()) 
   { 
   /* upload file code method and return boolean success/failure */ 

  }
else
  {
 /* return boolean success/failure or custom exception or  */ 
    }

//比较对象 - 实现Comparable和implmement compareTo方法,不在下面的代码中,但也添加空检查,检查id或你喜欢的任何java类字段。

public int compareTo(Reaction other) {
    int i = firstField.compareTo(other.firstField);
    if (i != 0) return i;

    i = secondField.compareTo(other.secondField);
    if (i != 0) return i;

    return Integer.compare(field3, other.field3);
}