zoukankan      html  css  js  c++  java
  • java批处理csv文件简单demo

    import java.io.*;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    public class ProcessCSV {
        public static void main(String[] args) {
            File inputFile = new File("/Users/sunxianyan/Desktop/input.csv");
            File outputFile = new File("/Users/sunxianyan/Desktop/output.csv");
            List<String> dataList = ProcessCSV.importCsv(inputFile);
            List<String> outputList=new ArrayList<String>();
            if(dataList!=null && !dataList.isEmpty()) {
                for (int i = 0; i < dataList.size(); i++) {
                    String s = dataList.get(i);
                    String[] as = s.split(",");
                    String [] str = as[0].split(".com/");
                    String targetUrl = "http://xxx.com/" + str[str.length-1];
                    outputList.add(targetUrl+","+as[1]);
                    boolean isSuccess=ProcessCSV.exportCsv(outputFile, outputList);
                    System.out.println(isSuccess+":"+targetUrl+","+as[1]);
                }
            }
        }
    
        /**
         * 写入
         * @param file csv文件(路径+文件名),csv文件不存在会自动创建
         * @param dataList 数据
         * @return
         */
        public static boolean exportCsv(File file, List<String> dataList){
            boolean isSucess=false;
    
            FileOutputStream out=null;
            OutputStreamWriter osw=null;
            BufferedWriter bw=null;
            try {
                out = new FileOutputStream(file);
                osw = new OutputStreamWriter(out);
                bw =new BufferedWriter(osw);
                if(dataList!=null && !dataList.isEmpty()){
                    for(String data : dataList){
                        bw.append(data).append("
    ");
                    }
                }
                isSucess=true;
            } catch (Exception e) {
                isSucess=false;
            }finally{
                if(bw!=null){
                    try {
                        bw.close();
                        bw=null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if(osw!=null){
                    try {
                        osw.close();
                        osw=null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if(out!=null){
                    try {
                        out.close();
                        out=null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
    
            return isSucess;
        }
    
        /**
         * 读取
         * @param file csv文件(路径+文件)
         * @return
         */
        public static List<String> importCsv(File file){
            List<String> dataList=new ArrayList<String>();
    
            BufferedReader br=null;
            try {
                br = new BufferedReader(new FileReader(file));
                String line = "";
                while ((line = br.readLine()) != null) {
                    dataList.add(line);
                }
            }catch (Exception e) {
            }finally{
                if(br!=null){
                    try {
                        br.close();
                        br=null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
    
            return dataList;
        }
    }
  • 相关阅读:
    Python 如何隐藏属性
    Python 多态
    Python 绑定方法与非绑定方法
    Python 类的组合
    ASP.NET CS文件中输出JavaScript脚本的3种方法以及区别
    JQuery中$之选择器用法介绍
    C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
    .net中response.redirect sever.execute server.transfer 三种页面跳转的方法
    safari,chrome中的window.history.go(-1) history.back()
    onbeforeunload与onunload事件
  • 原文地址:https://www.cnblogs.com/yangyuxiaozi/p/11155751.html
Copyright © 2011-2022 走看看