代码之家  ›  专栏  ›  技术社区  ›  satish

如何检查文件是否存在,那么创建新文件的过程是什么?[副本]

  •  1
  • satish  · 技术社区  · 8 年前

    我正在使用 JFileChooser 在指定的文件位置生成PDF文件,但我的要求是当我们生成类似于 d:\\test.pdf** 在d驱动器位置,我们再次尝试生成相同的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 回复  |  直到 8 年前
        1
  •  0
  •   andrucz    8 年前
    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();
    }