I have some word documents and excel sheets which has some images along with the file text content. I want to create a copy of that file and keep it at a specific location. I tried the following method which is creating file at specified location but the file is corrupted and cannot be read.
InputStream document = Thread.currentThread().getContextClassLoader().getResourceAsStream("upgradeworkbench/Resources/Upgrade_TD_Template.docx");
    try {
        OutputStream outStream = null;
        Stage stage = new Stage();
        stage.setTitle("Save");
        byte[] buffer= new byte[document.available()];
        document.read(buffer);
        FileChooser fileChooser = new FileChooser();
        fileChooser.setInitialFileName(initialFileName);
        if (flag) {
            fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("Microsoft Excel Worksheet", "*.xls"));
        } else {
            fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("Microsoft Word Document", "*.docx"));
        }
        fileChooser.setTitle("Save File");
        File file = fileChooser.showSaveDialog(stage);
        if (file != null) {
            outStream = new FileOutputStream(file);
            outStream.write(buffer);
    //                            IOUtils.copy(document, outStream);
        }
    } catch (IOException ex) {
        System.out.println(ex.getMessage());
    }
Can anyone suggest me any different ways to get the proper file.
PS: I am reading the file using InputStream because it is inside the project jar.
PPS: I also tried Files.copy() but it didnt work.