gpt4 book ai didi

java - 将 JFileChooser 与 PDFBox 一起使用时,文件不会保存为 pdf,但保存时不带扩展名

转载 作者:行者123 更新时间:2023-11-30 03:07:07 24 4
gpt4 key购买 nike

调用 JFileChooser 时,保存的文件和结果不是 pdf。为了更好地说,我调用 JFileChooser 并用某个名称保存它。然后,当我转到该位置时,该文件没有 .pdf 扩展名,我尝试使用 .getName() ,然后向其中添加 .pdf 扩展名并将其设置为等于 .getName() 但这不起作用。我该如何解决这个问题?

我为此创建了一个 JavaFX 项目,那里的窗口仅显示一个按钮,单击该按钮时将调用“methodActivate”方法。

package application;


import javafx.application.Application;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;

import java.io.File;
import java.io.IOException;

import javax.swing.JFileChooser;

import org.apache.pdfbox.pdmodel.*;

public class Main extends Application {

@FXML
private Button button;

@Override
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("\\Pdfbox.fxml"));
Scene scene = new Scene(root,500,300);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
launch(args);
}

@FXML
public void methodActivate() throws IOException{

PDDocument doc =
new PDDocument();
doc.addPage(new PDPage());
boolean bool = false;
try{
JFileChooser fileChooser = new JFileChooser();
File file = fileChooser.getSelectedFile();

doc.save(file);
doc.close();
}
doc.close();
} catch (Exception io){
System.out.println(io);
}

}

}

最佳答案

如果您在 JFileChooser 窗口中输入名称(如“myPdf”)但不带 .pdf,则它将使用该名称保存。JFileChooser 不会自动附加文件类型,因此如果您需要的话,您可以检查它

public File checkFileName(File file) {
if (!file.getAbsolutePath().toLowerCase().endsWith(".pdf")) {
return new File(file.getAbsolutePath() + ".pdf");
} else {
return file;
}
}

参见javadoc有关 JFileChooser 的更多信息

关于java - 将 JFileChooser 与 PDFBox 一起使用时,文件不会保存为 pdf,但保存时不带扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34481531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com