2012-09-12 13 views
0

我想要保存由JFileChooser选择的图像文件。该文件应该保存到我的本地sysytem中的Java桌面应用程序。怎么可能?请帮我做这件事情.. 我使用下面的代码来选择图像文件在java桌面应用程序中将图像文件保存到本地系统

public static String Filechooser(Component parent) 
    { 
     JFileChooser fcProductImage = new JFileChooser(); 
     int returnVal = fcProductImage.showOpenDialog(parent); 

    if (returnVal == fcProductImage.APPROVE_OPTION) 
    { 
     java.io.File file = fcProductImage.getSelectedFile(); 
     return file.getAbsolutePath(); 
    } 
    else 
    { 
     return ""; 
    } 
} 

预先感谢您!

+3

那么你尝试过什么? –

+0

你的应用程序中的文件如何表示? –

+1

来自*的文件来自哪里? –

回答

1

使用ImageIO.write(image,extension,file);

请参见下面的代码的片段:

JFileChooser FC=new JFileChooser("C:/"); 
FC.addChoosableFileFilter(new jpgSaveFilter()); 
FC.addChoosableFileFilter(new jpegSaveFilter()); 
FC.addChoosableFileFilter(new PngSaveFilter()); 
FC.addChoosableFileFilter(new gifSaveFilter()); 
FC.addChoosableFileFilter(new BMPSaveFilter()); 
FC.addChoosableFileFilter(new wbmpSaveFilter()); 

int retrival=m_fileChooser_save.showSaveDialog(null); 

if (retrival == m_fileChooser_save.APPROVE_OPTION) 
    { 

     String ext=""; 

     String extension=m_fileChooser_save.getFileFilter().getDescription(); 

     if(extension.equals("*.jpg,*.JPG")) 
     { 
      ext=".jpg"; 
     } 
     if(extension.equals("*.png,*.PNG")) 
     { 
      ext=".png"; 
     } 
     if(Extension.equals("*.gif,*.GIF")) 
     { 
      ext=".gif"; 
     } 
     if(extension.equals("*.wbmp,*.WBMP")) 
     { 
      ext=".wbmp"; 
     } 
     if(Extension.equals("*.jpeg,*.JPEG")) 
     { 
      EXT=".jpeg"; 
     } 
     if(extension.equals("*.bmp,*.BMP")) 
     { 
      ext=".bmp"; 
     } 

例筛选:

import java.io.*; 
import java.io.File; 
import java.util.*; 
import javax.swing.filechooser.FileFilter; 
class jpgSaveFilter extends FileFilter 
{ 
    public boolean accept(File f) 
    { 
     if (f.isDirectory()) 
      { 
      return false; 
      } 

     String s = f.getName(); 

     return s.endsWith(".jpg")||s.endsWith(".JPG"); 
    } 

    public String getDescription() 
    { 
     return "*.jpg,*.JPG"; 
    } 

} 
相关问题