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

Java实现文件批量导入导出实例(兼容xls,xlsx)

Java实现文件批量导入导出实例(兼容xls,xlsx) Java团长 2017-06-04 09:46 1、介绍 java实现文件的导入导出数据库,目前在大部分系统中是比较常见...
  • u013322876
  • u013322876
  • 2017年06月04日 15:09
  • 4836

java对excl的导入和导出的简单实例

用到的JAR包如下(可以直接到POI官网上下载也可以在文章的附件中下载): poi-3.9-20121203.jar poi-ooxml-3.9-20121203.jar poi-ooxml-s...
  • m13653423731
  • m13653423731
  • 2017年03月30日 16:28
  • 803

Java的文件导入导出实现

一. Java文件导出: 1. 文件内容写入DTO 2. 用FacesContext, 取得画面的的Instance(需要Import): FacesContext faceContext ...
  • sunroyi666
  • sunroyi666
  • 2016年07月17日 11:09
  • 465

JAVA实现EXL的导入导出功能

有过经验的程序猿都写过exl表格的导入导出功能!而大部分人都没抽时间去研究功能实现的细节,只是一味的为实现功能而写代码!今天也抽点时间对实现exl表格的 导入导出做个小结,针对JAVA开发! 一、EX...
  • u011407281
  • u011407281
  • 2015年11月19日 14:51
  • 2836

java实现将文件内容导入到数据库中

1、文件格式形如:6|1|2|3|14 2、写一个ctl文件,项目中此文件也可以从数据库读取值写入到文件中。 文件内容如下: LOAD DATA infile 'C:\file...
  • xiongwt
  • xiongwt
  • 2015年06月12日 19:02
  • 2252

Java的文件读写操作

file(内存)----输入流---->【程序】----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStre...
  • jiangxinyu
  • jiangxinyu
  • 2012年08月20日 10:50
  • 247285

2016.7.29在一个java文件中引入另一个java文件

1.当两个java文件在同一个包的情况下: import package名.java文件名; 此时需要java文件属于目录层次结构中,即package名不能为空,若为空则手动创建一个package将j...
  • qq_26950567
  • qq_26950567
  • 2016年07月29日 09:25
  • 430

Java读取txt文件和写入txt文件

原文: Java读取txt文件和写入txt文件写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! pa...
  • nickwong_
  • nickwong_
  • 2016年05月25日 23:16
  • 50441

eclipse中导入Java文件

                       eclipse中导入Java文件的方法 在eclipse中导入Java文件分两种情况:1,如果要导入的Java文件就在eclipse工作空间WorkSpa...
  • haizilin
  • haizilin
  • 2010年08月09日 16:20
  • 18533

【学习笔记】如何往eclipse中导入单个java文件

对于一些单个java文件,如果需要导入到eclipse中,可通过建立project,建立package的方法导入java文件。 以下FiveChess.java为例。 现一个五子棋的java文件源...
  • quickily
  • quickily
  • 2013年03月07日 16:37
  • 32385
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java文件导入功能的实现
举报原因:
原因补充:

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