يصف المثال الموجود في هذه المقالة كيفية تصدير ملفات CSV باستخدام Java العامة والانعكاس. شاركها مع الجميع لتكون مرجعا لك. التفاصيل هي كما يلي:
هناك حاجة في المشروع إلى تصدير البيانات كملف CSV، لأن الفئات المختلفة لها سمات مختلفة. من أجل تبسيط التعليمات البرمجية، قمت بتطبيق عموميات Java وانعكاسها وكتبت وظيفة لإكمال وظيفة التصدير.
انسخ الكود كما يلي: public <T> void saveFile(List<T> list, String outFile) throws IOException {
إذا (قائمة == فارغة || list.isEmpty()) {
يعود؛
}
إذا (StringUtils.isEmpty(outFile)) {
طرح IllegalArgumentException الجديد("الملف الخارجي فارغ");
}
boolean isFirst = true;
BufferedWriter out = null;
يحاول {
out = new BufferedWriter(new FileWriter(outFile));
لـ (T t : قائمة) {
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
Class clazz = (Class) t.getClass();
Field[] fs = clazz.getDeclaredFields();
لـ (int i = 0; i < fs.length; i++) {
الحقل f = fs[i];
f.setAccessible(true);
يحاول {
إذا (هو الأول) {
sb1.append(f.getName());
sb1.append("،");
}
كائن فال = f.get(t);
إذا (فال == فارغة) {
sb2.append("");
} آخر {
sb2.append(val.toString());
}
sb2.append("،");
} قبض على (IllegalArgumentException | IllegalAccessException e) {
printStackTrace();
}
}
إذا (هو الأول) {
out.write(sb1.toString());
isFirst = false;
newLine();
}
out.write(sb2.toString());
newLine();
}
} قبض (IOException e1) {
رمي e1؛
} أخيراً {
يحاول {
إذا (خارج! = فارغ) {
out.Close();
}
} التقاط (IOException e2) {
رمي e2؛
}
}
}
آمل أن تكون هذه المقالة مفيدة لبرمجة جافا للجميع.