По поводу условия
entry.getName().equals(nameFile) || entry.getName().equals("new/"+nameFile)
Это я сравнила с решением на гитхабе. Оно работает так : если среди файлов уже есть такой файл (не в папке new) , то появляется папка new и туда помещается обновлённый файл (старый исчезает). Если есть уже new/[fileName], то этот файл просто обновляется.