我是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());
}
答案 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);
}