Java 使用非本地路径将图像保存到目录
我正在尝试将用户选择的图像保存到我的资源包中。我只能通过提供“title.jpg”这样的简单路径或“C://res/title.jpg”这样的完整本地路径来保存它。如何保存到包中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
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将被其他成员否决。祝你好运:)