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"));
/*    */   }
/*    */ }
已标记关键词 清除标记
相关推荐
Excel源代码,ExcelCreate.java导出类和ExcelRead.java导入类 用到的poi底层架包有poi-3.6-20091214.jar,poi-contrib-3.6-20091214.jar poi-scratchpad-3.6-20091214.jar ExcelRead.java文件导入类 Public void importExcel(String file)读取文件方法一,file指明要导入文件路径。 public void importExcel (File file) 读取文件方法二,参数是file文件。 public void importExcel (InputStream filestream)读取文件方法三,参数是文件流。 public List readRow (int sheetNumber,int rows), 读取第几张工作表的第几行数据返回一个list. (工作表,起始行) ExcelCreate.java文件导出类 public ExcelCreate (),构造函数。 public void createSheet(String sheetName),创建工作表(工作表名称)。可创建多个工作表。 public static void setDefaultCellHighWidthInRange(short[] eachCellWidth, int high) 设置各列单元格宽度,eachCellWidth[]指定的列的列号,high设置的宽度。 public void addHeader (list rowvalues, Boolean isFilter)导入表头,list是保存表头的集合,isFilter是否过滤。 public void addRow (List rowvalues),数据的导入Excel方法, public void insertRow (List rowvalues,Int rowIndex),数据的导入Excel方法,给指定的行后追加一条数据。 public void delRow(int row) 删除指定的行。 Public void setSelect (int row,int cells,List cellvalue)给指定的列设置下拉列表,row是行号,cells 是列号,list是下拉列表的数据。 public void exportExcel (String file)导出文件的路径方法一,file是要导出数据的文件路径。 public void exportExcel (File file) 导出文件的路径方法二,file是要导出的文件。 public void exportExcel (OutputStream outputstream) 导出文件的路径方法三,outputstream是输出流。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页