复制代码代码如下:
impor java.io.File;
impor java.io.IOException;
impor java.util.List;
import com.google.common.base.Charsets;
import com.google.common.base.Joiner;
import com.google.common.base.Prakondisi;
impor com.google.common.collect.Lists;
impor com.google.common.io.Files;
import com.google.common.primitives.Bytes;
kelas publik FooUtilsCsvHelper {
//penghapus default csv adalah ','
String statis akhir pribadi DEFAULT_DELIMITER = ",";
// Tandai baris baru
String statis akhir pribadi DEFAULT_END = "/r/n";
// Jika Anda tidak menginginkan UTF-8, ganti saja array byte.
byte statis akhir pribadi commonCsvHead[] = { (byte) 0xEF, (byte) 0xBB,
(byte) 0xBF };
/**
* Tulis sumber ke file csv
*
* @param sumber
* @melempar IOException
*/
public static void writeCsv(Daftar<Daftar<String>> sumber) melempar IOException {
// Aoid java.lang.NullPointerException
Prekondisi.checkNotNull(sumber);
StringBuilder sbBuilder = StringBuilder baru();
for (Daftar<String> daftar : sumber) {
sbBuilder.append(Joiner.on(DEFAULT_DELIMITER).join(daftar)).append(
DEFAULT_END);
}
File.write(Bytes.concat(commonCsvHead,
sbBuilder.toString().getBytes(Charsets.UTF_8.toString())),
File baru("d:///123.csv"));
}
/**
* Sederhana membaca file csv
*
* @file param
* @melempar IOException
*/
public static void readCsv(File file) melempar IOException {
System.out.println(Files.readFirstLine(file, Charsets.UTF_8));
}
// Jalankan tes kecil sendiri.
public static void main(String[] args) melempar IOException {
Daftar<Daftar<String>> sumber = Daftar.newArrayList();
Daftar<String> tmpL = Daftar.newArrayList();
tmpL.add("测试titile1");
tmpL.add("测试titile2");
sumber.tambahkan(tmpL);
tulisCsv(sumber);
readCsv(File baru("d:///123.csv"));
}
}