源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java生成csv文件乱码的解决方法示例 java导出csv乱码

  • 时间:2020-06-09 11:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java生成csv文件乱码的解决方法示例 java导出csv乱码
[u]复制代码[/u] 代码如下:
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"));  } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部