Написал метод который создает архив, если запускать из Main'a то все работает. Пытаюсь протестировать с помощью junit - падает ошибка java.io.FileNotFoundException: src\main\resources\zipped2.zip (Системе не удается найти указанный путь)
В чем может быть проблема?
Main:
public class Main {
public static void main(String[] args) throws IOException {
Zipper zipper = new Zipper();
String packageSource = "src/main/resources/packageToZip";
File file = new File(packageSource);
FileOutputStream pathForZip = new FileOutputStream("src/main/resources/zipped.zip");
ZipOutputStream zipOut = new ZipOutputStream(pathForZip);
zipper.zip(file, file.getName(), zipOut);
zipOut.close();
String zipFile = "src/main/resources/zipped.zip";
String outDirectory = "src\\main\\resources\\outDirectory";
zipper.unZipIt(zipFile, outDirectory);
}
}
Zipper:
public void zip(File file, String filename, ZipOutputStream zipOut) throws IOException {
if (file.isDirectory()) {
if (filename.endsWith(File.separator)) {
zipOut.putNextEntry(new ZipEntry(filename));
zipOut.closeEntry();
} else {
zipOut.putNextEntry(new ZipEntry(filename + File.separator));
zipOut.closeEntry();
}
File[] filesList = file.listFiles();
for (File foreachFile : filesList) {
zip(foreachFile, filename + File.separator + foreachFile.getName(), zipOut);
}
return;
}
try (FileInputStream fileInput = new FileInputStream(file)) {
ZipEntry zipEntry = new ZipEntry(filename);
zipOut.putNextEntry(zipEntry);
byte[] buffer = new byte[fileInput.available()];
int length;
while ((length = fileInput.read(buffer)) >= 0) {
zipOut.write(buffer, 0, length);
}
}
}
Test
public class ZipperTest {
@Test
public void zip() throws IOException {
Zipper zipper = new Zipper();
String packageSource = "src/main/resources/packageToZip";
File file = new File(packageSource);
FileOutputStream pathForZip = new FileOutputStream("src/main/resources/zipped2.zip");
ZipOutputStream zipOut = new ZipOutputStream(pathForZip);
zipper.zip(file, file.getName(), zipOut);
zipOut.close();
}
}
При запуске теста - другой текущий директорий. Задавайте/вычисляйте абсолютный путь.
У меня есть функция, которую я хочу применить ещё раз в другом месте, но у неё будет отличие всего-лишь в одной строкеМожно ли как-то заменить...
Есть filetxt со следующим содержанием
Есть поле, в котором прописан статический путь формирования файлаЯ сделал это поле редактируемым на случай, если пользователь захочет по своему...