2012-09-12 22 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"; 
    } 

} 
相關問題