一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 應用Java泛型和反射導出CSV文件的方法

應用Java泛型和反射導出CSV文件的方法

2019-12-07 15:48shichen2014 JAVA教程

這篇文章主要介紹了應用Java泛型和反射導出CSV文件的方法,通過一個自定義函數結合泛型與反射的應用實現導出CSV文件的功能,具有一定的參考借鑒價值,需要的朋友可以參考下

本文實例講述了應用Java泛型反射導出CSV文件的方法。分享給大家供大家參考。具體如下:

項目中有需求要把數據導出為CSV文件,因為不同的類有不同的屬性,為了代碼簡單,應用Java的泛型和反射,寫了一個函數,完成導出功能。

復制代碼代碼如下:
public <T> void saveFile(List<T> list, String outFile) throws IOException {
        if (list == null || list.isEmpty()) {
            return;
        }
        if (StringUtils.isEmpty(outFile)) {
            throw new IllegalArgumentException("outfile is null");
        }
        boolean isFirst = true;
        BufferedWriter out = null;
        try {
            out = new BufferedWriter(new FileWriter(outFile));
            for (T t : list) {
                StringBuilder sb1 = new StringBuilder();
                StringBuilder sb2 = new StringBuilder();
                Class clazz = (Class) t.getClass();
                Field[] fs = clazz.getDeclaredFields();
                for (int i = 0; i < fs.length; i++) {
                    Field f = fs[i];
                    f.setAccessible(true);
                    try {
                        if (isFirst) {
                            sb1.append(f.getName());
                            sb1.append(",");
                        }
                        Object val = f.get(t);
                        if (val == null) {
                            sb2.append("");
                        } else {
                            sb2.append(val.toString());
                        }
                        sb2.append(",");
                    } catch (IllegalArgumentException | IllegalAccessException e) {
                        e.printStackTrace();
                    }
                }
                if (isFirst) {
                    out.write(sb1.toString());
                    isFirst = false;
                    out.newLine();
                }
                out.write(sb2.toString());
                out.newLine();
            }
        } catch (IOException e1) {
            throw e1;
        } finally {
            try {
                if (out != null) {
                    out.close();
                }
            } catch (IOException e2) {
                throw e2;
            }
        }
}

 

希望本文所述對大家的Java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品毛片高清在线完整版 | 国产精品久线观看视频 | 午夜影院0606 | 日本人成在线视频免费播放 | 亚洲国产欧美在线人成aaa | 日韩精品视频美在线精品视频 | 国产午夜成人无码免费看 | 99精品网 | 动漫美女胸被狂揉扒开吃奶动态图 | 外国黄色软件 | 欧美一区a| 欧美日韩国产在线一区 | 范冰冰性xxxxhd | 亚洲色欧美图 | avtt在线| 狠狠色成人综合网图片区 | 99免费在线视频 | 我的家教老师 | 精精国产www视频在线观看免费 | 果冻传媒在线播放1 | 免费α片 | 国产大乳美女挤奶视频 | 苍井空色欲迷墙 | 久草在在线免视频在线观看 | 全肉一女n男np高h乳 | 无人区在线观看免费完整版免费 | 国产精品久久亚洲一区二区 | 韩国女主播在线大尺无遮挡 | 大象传媒短视频网站 | 日韩porn| 91在线视频播放 | 亚洲sss综合天堂久久久 | 18美女光胸光屁屁洗澡 | 国产第一草草影院 | 91国语精品自产拍在线观看一 | 十八女下面流水不遮免费 | 51精品 | 国内视频一区二区 | 天天久久影视色香综合网 | 午夜福利视频极品国产83 | 日韩v|