У меня возникли проблемы с использованием класса URI.Как создать zip-файл в одной папке из текущего рабочего каталога с помощью NIO?
я могу создать почтовый файл в C: \ с кодом, как это:
// Properties for archive file we're creating
Map<String, String> archiveProperties = new HashMap<>();
archiveProperties.put("create", "true");
archiveProperties.put("encoding", "UTF-8");
URI archiveLocation = URI.create("jar:file:/" + "my.zip");
// Create archive
FileSystem archive = FileSystems.newFileSystem(archiveLocation, archiveProperties);
Но я действительно хочу, почтовый файл будет создан один каталог вверх, если вы будете, от настоящего рабочего каталога. Я пробовал много вещей, в том числе:
// Properties for archive file we're creating
Map<String, String> archiveProperties = new HashMap<>();
archiveProperties.put("create", "true");
archiveProperties.put("encoding", "UTF-8");
URI archiveLocation = URI.create("jar:file:../" + "my.zip");
// Create archive
FileSystem archive = FileSystems.newFileSystem(archiveLocation, archiveProperties);
Но я либо получаю исключение, URI не является иерархической, в данном случае, или он продолжает быть создан в C: \
Благодарим за предложение. Я попробовал и получил исключение. :-( Исключение из потока «main» java.lang.IllegalArgumentException: Недопустимый символ в непрозрачной части по индексу 14: jar: file: /// C: \ Users \ IBM_ADMIN \ Documents \ Eclipse workspace RTC Dev Stream2 \ bin \ ./../my.zip \t на java.net.URI.create (URI.java:870) – Dale
Вам просто нужно было изменить разделитель файлов в соответствии с вашей средой Windows, как это было в вашем ответе. –
Спасибо, Нага Я не мог поверить, насколько трудной была эта, казалось бы, легкая задача - работать. – Dale