معلومات المنتج:
استيراد java.io.File؛
import java.io.IOException;
import java.util.List;
import com.google.common.base.Charsets;
import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
استيراد com.google.common.io.Files؛
import com.google.common.primitives.Bytes;
الطبقة العامة FooUtilsCsvHelper {
// المحدد الافتراضي لملف CSV هو "،"
سلسلة ثابتة نهائية خاصة DEFAULT_DELIMITER = ""،؛
// ضع علامة على سطر جديد
سلسلة ثابتة نهائية خاصة DEFAULT_END = "/r/n"؛
// إذا كنت لا تريد UTF-8، فما عليك سوى استبدال مصفوفة البايت.
البايت الثابت النهائي الخاص commonCsvHead[] = { (بايت) 0xEF، (بايت) 0xBB،
(بايت) 0xBF };
/**
* كتابة المصدر إلى ملف CSV
*
* @param المصدر
* @ يلقي IOException
*/
public static void writeCsv(List<List<String>> source) يلقي IOException {
// Aoid java.lang.NullPointerException
Preconditions.checkNotNull(source);
StringBuilder sbBuilder = new StringBuilder();
لـ (قائمة <سلسلة>: المصدر) {
sbBuilder.append(Joiner.on(DEFAULT_DELIMITER).join(list)).append(
DEFAULT_END)؛
}
Files.write(Bytes.concat(commonCsvHead,
sbBuilder.toString().getBytes(Charsets.UTF_8.toString())),
ملف جديد("d:///123.csv"));
}
/**
* قراءة بسيطة لملف CSV
*
* ملفparam
* @ يلقي IOException
*/
قراءة الفراغ الثابت العام (ملف ملف) يلقي IOException {
System.out.println(Files.readFirstLine(file, Charsets.UTF_8));
}
// قم بإجراء اختبار صغير بنفسك.
public static void main(String[] args) يلقي IOException {
List<List<String>> source = Lists.newArrayList();
List<String> tmpL = Lists.newArrayList();
tmpL.add("العنوان1");
tmpL.add("العنوان2");
source.add(tmpL);
writeCsv(source);
readCsv(new File("d:///123.csv"));
}
}