如何检查文件是否退出然后创建新文件的过程是什么?

时间:2016-03-01 14:00:33

标签: java swing jfilechooser

我正在使用JFileChooser在指定的文件位置生成PDF文件,但是当我们在d驱动器位置生成像 d:\\test.pdf**这样的PDF并且我们再次尝试生成相同的PDF文件**它覆盖了以前的PDF文件要求是这样他们会显示消息框以显示它已经生成并生成其他PDF文件名。如test1.pdf 我的问题 代码:申请按钮

    JFileChooser dialog = new JFileChooser();
//            chooser.setDialogType(JFileChooser.SAVE_DIALOG);
        dialog.setCurrentDirectory(new java.io.File("."));
        dialog.setDialogTitle("Save Backup");
        dialog.setApproveButtonText("Save");
        //disables the all filesoptioning here
        dialog.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        dialog.setAcceptAllFileFilterUsed(false);

        if (dialog.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
            System.out.println("getCurrentDirectory(): " + dialog.getCurrentDirectory());
            System.out.print("getSelectedFile() : " + dialog.getSelectedFile());

            try {
                String filePath = dialog.getSelectedFile().getPath();
                Document document = new Document();
                PdfWriter.getInstance(document, new FileOutputStream(filePath));
                document.open();
                document.add(new Paragraph(" hello"));
                document.close();
        } catch (Exception e) {

        }
    }

1 个答案:

答案 0 :(得分:0)

if (dialog.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
    File selectedFile = dialog.getSelectedFile();

    if (selectedFile.exists()) {
        JOptionPane.showMessageDialog(this, "Please choose another file.");
        return;
    }

    PdfWriter.getInstance(document, new FileOutputStream(selectedFile));
    document.open();
    document.add(new Paragraph(" hello"));
    document.close();
}