Как избежать FileSystemNotFoundException в Java - PullRequest
0 голосов
/ 04 мая 2018

У меня есть код ниже, чтобы скопировать данные из одного файла и вставить в другой, может кто-нибудь, пожалуйста, помогите мне избежать исключения ** FileSystemNotFoundException ** Спасибо в ожидании .............................................. ...................... я добавил скриншот исключения enter image description here

 package com.mod2.zipIn;

    import java.io.*;
    import java.net.*;
    import java.nio.file.*;
    import java.nio.file.FileSystem;
    import java.util.*;

    public class ZipIn {

        public static void main(String[] args)
        {
            String[] data = {
                    "Line 1 ",
                    "Line 2 2 ",
                    "Line 3 3 3",
                    "Line 4 4 4 4",
                    "Line 5 5 5 5 5"
            };


            try (FileSystem zipFs  = openZip(Paths.get("mydata.zip"))){
                copyToZip(zipFs);
            } catch (Exception e) {
                System.out.println(e.getClass().getSimpleName() + " " + e.getMessage());
            }
        }
            private static FileSystem openZip(Path zipPath) throws IOException, URISyntaxException {

                Map<String, String> providerProps = new HashMap<>();
                providerProps.put("Create", "True");

                URI zipURI = new URI("jar:file", zipPath.toUri().getPath(), null);

                FileSystem zipFs = FileSystems.newFileSystem(zipURI,providerProps);

                return zipFs;
            }

            private static void copyToZip(FileSystem zipFs)throws IOException {
                Path sourceFile  = Paths.get("file1.txt");
                Path destFile = zipFs.getPath("\file1Copied.txt");

                Files.copy(sourceFile, destFile, StandardCopyOption.REPLACE_EXISTING);          
            }
        }

1 Ответ

0 голосов
/ 04 мая 2018

Вы уверены, что Paths.get ("mydata.zip") возвращает действительный путь к файлу? (Файл не найден?!)

извините, написал бы это как комментарий, но в настоящее время я не могу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...