复制代码代码如下:
импортировать java.io.File;
импортировать java.io.IOException;
импортировать java.util.List;
импортировать com.google.common.base.Charsets;
импортировать com.google.common.base.Joiner;
импортировать com.google.common.base.Preconditions;
импортировать com.google.common.collect.Lists;
импортировать com.google.common.io.Files;
импортировать 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
Предварительные условия.checkNotNull(источник);
StringBuilder sbBuilder = новый StringBuilder();
for (List<String> list: source) {
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
*/
public static void readCsv(File file) выдает IOException {
System.out.println(Files.readFirstLine(файл, Charsets.UTF_8));
}
// Проведите небольшой тест самостоятельно.
public static void main(String[] args) выдает IOException {
List<List<String>> source = Lists.newArrayList();
List<String> tmpL = Lists.newArrayList();
tmpL.add("测试titile1");
tmpL.add("测试titile2");
источник.добавить(tmpL);
writeCsv (источник);
readCsv(новый файл("d:///123.csv"));
}
}