Java 使用非本地路径将图像保存到目录

Java 使用非本地路径将图像保存到目录,java,javafx,Java,Javafx,我正在尝试将用户选择的图像保存到我的资源包中。我只能通过提供“title.jpg”这样的简单路径或“C://res/title.jpg”这样的完整本地路径来保存它。如何保存到包中 public class ImportFile { FileChooser fileChooser = new FileChooser(); String fileExtension; BufferedImage bufferedImage; File file; publi

我正在尝试将用户选择的图像保存到我的资源包中。我只能通过提供“title.jpg”这样的简单路径或“C://res/title.jpg”这样的完整本地路径来保存它。如何保存到包中

public class ImportFile {

    FileChooser fileChooser = new FileChooser();
    String fileExtension;
    BufferedImage bufferedImage;
    File file;

    public void chooseFile(){
        extensionFilters();
        file = fileChooser.showOpenDialog(null);
        try{
            bufferedImage = ImageIO.read(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void saveFile(BufferedImage importedFile, File file,String title) {
        try{
            File saved = new File("\res\"+title+findFileExtension(file));
            ImageIO.write(importedFile,"jpg",saved);
        }catch(IOException e){
            e.printStackTrace();
        }
    }

    private String findFileExtension(File file) {
        String fileName = file.getName();
        fileExtension = fileName.substring(fileName.lastIndexOf("."), fileName.length());
        return fileExtension;
    }

尝试执行以下操作

File saved=新文件(System.getProperty(“user.dir”)+“/src/.jpg”)

System.getProperty(“user.dir”)
:将给出当前项目目录


:确保将程序包名称中的“.”替换为“/”

是否要将图片上载到程序包中? 只是不给它一个路径,而是给它一个像use file.getOriginalFilename()这样的名称

试一试?我希望它能帮助你。 代码:

如果(!file.isEmpty()){
试一试{
BufferedOutputStream out=新的BufferedOutputStream(新文件(File.getOriginalFilename()));
out.write(file.getBytes());
out.flush();
out.close();
}catch(filenotfounde异常){
e、 printStackTrace();
返回“failure,”+e.getMessage();
}捕获(IOE异常){
e、 printStackTrace();
返回“failure,”+e.getMessage();
}
返回“成功”;
}否则{
返回“文件为空”;
}

是否要保存到类路径中的包中?您好。。欢迎来到stackoverflow!!如果您对问题没有具体答案,请使用下面的评论部分,否则您的ans将被其他成员否决。祝你好运:)