JAVA导出成CSV文件

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
import 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;
import com.google.common.io.Files;
import com.google.common.primitives.Bytes;

public class FooUtilsCsvHelper {

    // csv's default delemiter is ','
    private final static String DEFAULT_DELIMITER = ",";
    // Mark a new line
    private final static String DEFAULT_END = "\r\n";
    // If you do not want a UTF-8 ,just replace the byte array.
    private final static byte commonCsvHead[] = { (byte) 0xEF, (byte) 0xBB,
            (byte) 0xBF };

    /**
     * Write source to a csv file
     * 
     * @param source
     * @throws IOException
     */
    public static void writeCsv(List<List<String>> source) throws IOException {
        // Aoid java.lang.NullPointerException
        Preconditions.checkNotNull(source);
        StringBuilder sbBuilder = new 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())),
                new File("d:\\/123.csv"));
    }

    /**
     * Simple read a csv file
     * 
     * @param file
     * @throws IOException
     */
    public static void readCsv(File file) throws IOException {
        System.out.println(Files.readFirstLine(file, Charsets.UTF_8));
    }

    // Run a small test yourself.
    public static void main(String[] args) throws IOException {
        List<List<String>> source = Lists.newArrayList();
        List<String> tmpL = Lists.newArrayList();
        tmpL.add("测试titile1");
        tmpL.add("测试titile2");
        source.add(tmpL);
        writeCsv(source);
        readCsv(new File("d:\\/123.csv"));
    }
}

标签: Google

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:一个根据URI定位到spring mvc映射代码工具类

下一篇:Java图片处理工具类