0

i want to copy directories from the the place where my .jar files exist? here are what i tried.. but i always get /home/user/ how can i copy files from where my .jar program exist?

private void copy_dir() {

    //Path sourceParentFolder = Paths.get(System.getProperty("user.dir") +        "/Project/");
   //      Path sourceParentFolder = Paths.get(Paths.get(".").toAbsolutePath().normalize().toString());
    Path destinationParentFolder = Paths.get(System.getProperty("user.home"));

    try {
        Stream<Path> allFilesPathStream = Files.walk(sourceParentFolder);
        Consumer<? super Path> action = new Consumer<Path>() {

            @Override
            public void accept(Path t) {
                try {
                    String destinationPath = t.toString().replaceAll(sourceParentFolder.toString(), destinationParentFolder.toString());
                    Files.copy(t, Paths.get(destinationPath));
                } catch (FileAlreadyExistsException e) {
                    //TODO do acc to business needs
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }

        };
        allFilesPathStream.forEach(action);

    } catch (FileAlreadyExistsException e) {
        //file already exists and unable to copy
    } catch (IOException e) {
        //permission issue
        e.printStackTrace();
    }

}
Anti Atlas Dev
  • 416
  • 1
  • 4
  • 15

1 Answers1

1

Try

 Path destinationParentFolder = Paths.get(System.getProperty("user.dir"));

"user.dir" gets the absolute path from where your application was initialized.

"user.home" gets the user's home directory.

Regie Baguio
  • 241
  • 5
  • 13