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

代码如下:

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)

相关推荐

  • java读取csv文件示例分享(java解析csv文件)

    复制代码 代码如下: import java.io.*;import java.util.*;public class HandleCsv {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(   new InputStreamReader(    new FileInputStream("test.csv")   )); String li

  • java读取csv文件和写csv示例分享

    复制代码 代码如下: import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.

  • Android如何读写CSV文件方法示例

    前言 本文主要给大家介绍的是关于Android读写CSV文件的相关内容,CSV也就是Comma-Separated Values逗号分隔的文本文件, 读写csv文件和读写普通文件类似:写的时候给数据之间添加上逗号. 设定存储路径和文件名: private static final String FILE_FOLDER = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "AboutVie

  • Java生成CSV文件实例详解

    本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputS

  • java读取csv文件内容示例代码

    复制代码 代码如下: package com.huateng.readcsv; import java.io.BufferedReader;import java.io.FileReader;import java.util.ArrayList;import java.util.Iterator;import java.util.List; public class CsvUtil {        private String fileName = null;        private B

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

    复制代码 代码如下: 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

  • 理解Java中的内存泄露及解决方法示例

    本文详细地介绍了Java内存管理的原理,以及内存泄露产生的原因,同时提供了一些列解决Java内存泄露的方案,希望对各位Java开发者有所帮助. Java内存管理机制 在C++ 语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期.从申请分配.到使用.再到最后的释放.这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露. Java 语言对内存管理做了自己的优化,这就是垃圾回收机制. Java 的几乎所有内存对象都是在堆内存上分配(基本数据类型

  • Python 3.x读写csv文件中数字的方法示例

    前言 本文主要给大家介绍了关于Python3.x读写csv文件中数字的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 读写csv文件 读文件时先产生str的列表,把最后的换行符删掉:然后一个个str转换成int ## 读写csv文件 csv_file = 'datas.csv' csv = open(csv_file,'w') for i in range(1,20): csv.write(str(i) + ',') if i % 10 == 0: csv.write

  • php使用fgetcsv读取csv文件出现乱码的解决方法

    本文实例讲述了php使用fgetcsv读取csv文件出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 一般来说在php中碰到乱码多半是编码问题,在这里我们实例分析了fgetcsv读取csv文件乱码原因所在与解决方法. 例子如下: 复制代码 代码如下: function get_csv_contents( $file_target ){  $handle  = fopen( $file_target, 'r');  while ($data = fgetcsv($handle, 1000,

  • Python之pandas读写文件乱码的解决方法

    python读写文件有时候会出现   'XXX'编码不能打开XXX什么的,用记事本打开要读取的文件,另存为UTF-8编码,然后再用py去读应该可以了.如果还不行,那么尝试使用文件原有的编码方式读取,参考之前的文章 在pandas中读写csv时候通过制定encoding可以有效防止excel打开或者写入中文乱码 data.to_csv(f_out,index=False,encoding='gb2312') 以上这篇Python之pandas读写文件乱码的解决方法就是小编分享给大家的全部内容了,希

  • Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法

    项目地址:https://github.com/PythonerKK/django-generate-pdf/tree/master 这个demo实现了通过用户输入自己的个人信息生成一份简历pdf,来阐述如何使用Django的HttpResponse生成PDF的文档. 先上效果图: 安装依赖库 首先安装Django最新版2.2.2和PDF依赖包xhtml2pdf pip install django pip install xhtml2pdf 编写表单验证 为了简单起见,这个demo依赖数据库,

  • linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法

    出现这个问题可能有以下几种原因: 1.对该文件没有执行的权限. 2.我们的机器是64位的,而下载的jdk是32位的. 我就是后一种原因造成的,好久才想明白. 以上这篇linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • js文件中直接alert()中文出来的是乱码的解决方法

    解决方法如下: 在这句语句上面加上echo "<meta http-equiv='Content-Type'' content='text/html; charset=utf-8'>"; 以上就是小编为大家带来的js文件中直接alert()中文出来的是乱码的解决方法全部内容了,希望大家多多支持我们~

  • Ubuntu解压zip文件乱码的解决方法

    前言 本文介绍的是Ubuntu解压zip文件乱码的解决方法,共有2种方式解决问题,下面话不多说,来一起看看吧 一.通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明. 二.在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936&quo

  • iOS读取txt文件出现中文乱码的解决方法

    一.情景描述: 后台给一个txt文件,编码是utf-8,在Mac电脑Xcode开发环境下读取txt文件内容,汉字会出现乱码,英文没有乱码这种情况. 二.尝试解决方法: 修改编码格式,尝试了NSUTF16StringEncoding,NSUTF8StringEncoding,NSASCIIStringEncoding编码等,出现的问题有时是中文乱码,有时是utf-8不能打开文件问题,最终问题都没能解决. 三.猜测原因: txt文件是从window电脑上创建,有可能和环境有关,第二,编码问题. 四.

随机推荐