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

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

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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 超级碰碰免费视频 | www.国产在线观看 | 天天做天天爱天天一爽一毛片 | 臀精插宫NP文| 99ri在线视频网 | 色涩导航 | 日韩精品亚洲专区在线影视 | 我强进了老师身体在线观看 | 久久精品国产在热亚洲 | 18欧美同性videos可播放 | 操弄哥哥的108种姿势 | 毛片在线免费观看网站 | 美女扒开屁股让我桶免费 | 粉嫩高中生第一次不戴套 | 国产精品理论片 | 麻豆小视频在线观看 | 5g影院天天5g爽天天看 | 91传媒制片厂制作传媒破解版 | 成人aqq | 国产精品aaa | 成人免费片 | 青青草精品在线 | 校花被老头夺去第一次动图 | 四虎成人永久地址 | 国产成+人+亚洲+欧美综合 | 亚洲高清国产品国语在线观看 | 奇米影视7777 | 国产精品成人自拍 | 91制片厂制作传媒网站 | 国产成人一区二区三区影院免费 | 日本68xxxxxxxxx59| 亚洲精品视频久久 | 色屁屁www| 九九久久国产精品大片 | 免费观看视频在线 | 亚洲小视频网站 | 日本免费一区二区三区 | 欧美理论片手机在线观看片免费 | 国产亚洲女人久久久久久 | 女人用粗大自熨喷水在线视频 | 色视频亚洲 |