java文件导入功能的实现

/*    */ import com.gsoft.ncs.gui.res.StrPicker;
         import com.gsoft.ncs.gui.startup.Application;
/*    */ import com.gsoft.ncs.utils.i18n.I18NEvent;
/*    */ import com.gsoft.ncs.utils.i18n.I18NListener;

/*    */ import java.awt.event.ActionEvent;
         import java.io.BufferedReader;
/*    */ import java.io.File;
         import java.io.FileNotFoundException;
         import java.io.FileReader;
         import java.io.FileWriter;
         import java.io.IOException;
         import java.io.PrintWriter;

/*    */ import javax.swing.AbstractAction;
/*    */ import javax.swing.Icon;
/*    */ import javax.swing.ImageIcon;
         import javax.swing.JFileChooser;
         import javax.swing.filechooser.FileFilter;

/*    */ import org.apache.commons.logging.Log;
/*    */ import org.apache.commons.logging.LogFactory;
/*    */ 
/*    */ public class FrmChooserAct extends AbstractAction
/*    */   implements I18NListener
/*    */ {
/* 23 */   private static final Log logger = LogFactory.getLog(FrmChooserAct.class);
/*    */   private static final long serialVersionUID = 1L;
/* 27 */   private static final StrPicker picker = StrPicker.instance();
/* 28 */   private static FrmChooserAct instance = null;
           private File[] file;
           private File file1;
           private int n;
           private String[] srcFilePath;
           private String targetFileDir;
           private boolean b;
/*    */ 
/*    */   private FrmChooserAct() {
/* 31 */     super(picker.getString("menu.jfileChooser"));
             putValue("ShortDescription", picker.getString("tip.jfileChooser"));
/* 34 */     StrPicker.addI18NListener(this);
/*    */   }
/*    */ 
/*    */   public static FrmChooserAct instance() {
/* 43 */     if (null == instance) {
/* 44 */       instance = new FrmChooserAct();
/*    */     }
/* 46 */     return instance;
/*    */   }
/*    */ 
/*    */   public void actionPerformed(ActionEvent e) {
                JFileChooser c = new JFileChooser();
                c.setAcceptAllFileFilterUsed(false);
                c.setMultiSelectionEnabled(true);
                c.addChoosableFileFilter(new FileFilter() {

                    @Override
                    public boolean accept(File f) {
                        if (f.isDirectory()) {// 如果是目录就可以访问
                            return true;
                        }
                        if (f.getName().endsWith(".mib")) {// 如果是,txt文件格式的文件,那么就可以显示出来
                            return true;
                        }
                        return false;
                    }

                    @Override
                    public String getDescription() {
                        return "*.mib";
                    }

                });
                int rVal = c.showOpenDialog(Application.frame);
                if (rVal == JFileChooser.APPROVE_OPTION) {
                    file = c.getSelectedFiles();
                    n = c.getSelectedFiles().length;
                    srcFilePath = new String[n];
                    String fileSeparator = System.getProperty("file.separator");
                    targetFileDir = System.getProperty("user.dir")+fileSeparator+"resources/mibfiles";
                    for (int i = 0; i < n; i++) {
                        srcFilePath[i] = file[i].toString();
                        b = copyToFile(srcFilePath[i], targetFileDir);
                    }
                }

                // if(rVal == JFileChooser.CANCEL_OPTION){
                // System.exit(0);
                // }
/*    */   }

            public static boolean copyToFile(String srcFilePath, String targetFileDir) {
                boolean result = true;
                BufferedReader ifStream = null;
                PrintWriter ofStream = null;
                File srcFile = new File(srcFilePath);
                String fileName = srcFile.getName();
                String fileSeparator = System.getProperty("file.separator");
                String targetFilePath = targetFileDir + fileSeparator + fileName;
                System.out.println(targetFilePath);
                File file=new File(targetFilePath);    
                if(!file.exists())    
                {       
                    try {
                        ifStream = new BufferedReader(new FileReader(srcFilePath));
                        ofStream = new PrintWriter(new FileWriter(targetFilePath));
                        String line;
                        while ((line = ifStream.readLine()) != null) {
                            ofStream.print(line);
                            ofStream.print("\r\n");// 文件中的回车换行
                        }
                        ifStream.close();
                        ofStream.close();
                        ChooserSuccessDialog.instance();
                    } catch (FileNotFoundException e) {
                        System.out.println("源文件路径错误!");
                        result = false;
                        e.printStackTrace();
                    } catch (IOException e) {
                        System.out.println("目标文件路径错误!");
                        result = false;
                        e.printStackTrace();
                    } finally {
                        try {
                            ifStream.close();
                        } catch (IOException e) {
                            System.out.println("源文件关闭错误!");
                            result = false;
                            e.printStackTrace();
                        } finally {
                            ofStream.close();
                        }
                        ofStream.close();
                    }      
                }else{
                    repeatDialog.instance();
                }

                return result;
            }
/*    */ 
/*    */   public void localeChanged(I18NEvent event) {
/* 59 */     putValue("Name", StrPicker.instance().getString("menu.jfileChooser"));
/* 60 */     putValue("ShortDescription", StrPicker.instance().getString("tip.jfileChooser"));
/*    */   }
/*    */ }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值