java文件导入功能的实现

原创 2015年11月18日 18:22:03
/*    */ 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"));
/*    */   }
/*    */ }
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

TCP实现的文件上传功能(java)

  • 2014年05月05日 11:23
  • 3KB
  • 下载

Java对CSV文件加密后导入导出功能小结

技术总结 本次做CSV文件的加密后的导入导出功能,遇到的问题。在这里做个总结,以备不时之需。 1.      加密 加密采用的是DES加密,整个加密类贴出来。 package com.lddsm.ut...

java递归实现复制一个文件夹下所有文件的功能

今天开始学习java的IO,学了一个复制文件的例子程序后想自己实现以下如何复制一个文件夹,复制文件的例子程序如下:package io.github.liuzhan214; import java.i...

用java实现的压缩文件功能

  • 2009年09月10日 10:33
  • 1.17MB
  • 下载

JAVA应用XFire框架来实现WebServie的大文件传输功能之二(上传)

xml文件:           HelloWorldService       http://localhost:8090/WebServiceTest       ...

如何利用Java实现QQ文件传输功能

  • 2012年12月24日 13:47
  • 6.76MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java文件导入功能的实现
举报原因:
原因补充:

(最多只允许输入30个字)