`
thinktothings
  • 浏览: 784643 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java读写csv文件,中文乱码问题

    博客分类:
  • Java
 
阅读更多

java读写csv文件,中文乱码问题

read

/**
  * 读取文件中的内容
  * @param file
  * @return
  */
 public Vector<String> readFile(File file){
  Vector<String> vector=new Vector<String>();
  
  if(file !=null && file.exists() && file.isFile() ){
   try {
    BufferedReader bufferdReader=new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
    String strTem="";
    while((strTem=bufferdReader.readLine())!=null){
     vector.add(strTem);
    }
    log.debug("readfile:"+file);
   } catch (UnsupportedEncodingException e) {
    log.error(e.toString(),e.fillInStackTrace());
   } catch (FileNotFoundException e) {
    log.error(e.toString(),e.fillInStackTrace());
   } catch (IOException e) {
    log.error(e.toString(),e.fillInStackTrace());
   }
  }
  return vector;
 }

 

 

 

 

Write:

/**
  * 写一行数据到文件中,支持中文
  * @param file  文件
  * @param vector 数据
  * @return
  */
 public boolean writeFile(File file,Vector<String> vector){
    try {
   

        BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "GBK")) ;// 附加
        // 添加新的数据行
        for (String s :vector) {
         bw.write(s);
         bw.newLine();
     }
 
        bw.close();
        log.debug("\n wirite file:"+file);
      } catch (FileNotFoundException e) {
       log.error(e.toString(),e.fillInStackTrace());
       return false;
      } catch (IOException e) {
       log.error(e.toString(),e.fillInStackTrace());
       return false;
      }
   
  return true;
 }

 

--java util

 

package com.think.common.file.csv;

import java.io.File;
import java.util.Vector;

import org.apache.log4j.Logger;
import org.junit.Test;

public class CSVFileResolveTest {

 Logger log = Logger.getLogger(CSVFileResolveTest.class);
 CSVFileResolve csvFileResolve = new CSVFileResolve();

 @Test
 public void testWriteCSVFile() {

  Vector<String> vector = new Vector<String>();
  vector.add("中国百姓");
  vector.add("11");
  vector.add("22");
  csvFileResolve.writeFile("a.csv", vector);
 }

 @Test
 public void testwriteCSVFile() {
  File file = new File("c.csv");
  Vector<String> vector = new Vector<String>();
  vector.add("中国百姓");
  vector.add("11");
  vector.add("22");
  csvFileResolve.writeFile(file, vector);
 }

 @Test
 public void testreadFile() {
  File file = new File("c.csv");
  Vector<String> vector = csvFileResolve.readFile(file);
  for (String s : vector) {
   log.debug(s);
  }
 }

}

分享到:
评论

相关推荐

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

    在Java中生成CSV(Comma Separated Values)文件时,可能会遇到乱码问题,这通常是由于编码设置不正确导致的。CSV文件是一种常见的数据交换格式,通常用于导入和导出数据到电子表格程序如Microsoft Excel。当在Java...

    JAVA 对CSV和Excel文件格式的读写

    利用Java swing 对csv和excel文件进行读写;并且可以同时读取5个文件的数量;通过关键字配置来读文件,还有就是通过POI CSVWriter等类的使用来对excel和csv等文件进行操作

    java csv 读写框架特殊字符转义.docx

    "java csv 读写框架特殊字符转义" Java CSV 读写框架是基于 Java 注解的 CSV 读写框架...Java CSV 读写框架提供了一个强大的解决方案来处理 CSV 文件中的特别字符转义问题,使得我们可以轻松地处理 CSV 文件中的数据。

    java读取csvjava 按顺序创建文件

    在处理CSV文件时,还需要注意编码问题,确保文件的读写使用相同的字符编码,如UTF-8,以避免乱码。同时,为了处理大文件,可以考虑使用流式处理,以减少内存占用。 最后,关于给定的压缩文件"java读取csv.rar"和...

    EasyCSV_导出CSV工具类_easyCsv导出csv_easy-cvs_easycsv_

    EasyCSV是Java的一个轻量级库,设计用于简化CSV文件的读写操作。它的核心功能在于其API简洁易用,使得开发者可以快速地将数据结构如列表、数组等转换为CSV格式,并保存到本地文件。以下我们将深入探讨EasyCSV的一些...

    如何解决MySql-JSP中文乱码问题

    在开发Web应用时,尤其是使用Java技术栈如JSP、Servlet与MySQL数据库交互时,中文乱码问题常常困扰着开发者。这个问题的出现主要是由于字符编码不一致导致的,包括数据库编码、连接编码、页面编码等多个环节。下面...

    传递汉字丢失或乱码的问题

    在IT行业中,尤其是在进行数据传输、文件存储或者编程过程中,我们常常会遇到“传递汉字丢失或乱码”的问题。这通常是由编码不一致、字符集转换错误或文件读写操作不当等因素引起的。以下是对这个问题的详细分析和...

    解决数据库存取乱码问题

    7. **文件读写**:如果涉及到文件操作,比如读取CSV文件导入数据库,确保文件读取时使用正确的编码,避免乱码。 通过以上步骤,我们可以系统性地排查并解决数据库存取乱码的问题。在实际应用中,还需要根据具体环境...

    java识别文件编码格式

    在Java编程语言中,识别文件编码格式是一...综上所述,Java识别文件编码格式是一个涉及字符编码理论、Java IO流操作以及可能的自定义逻辑的问题。开发者需要了解各种编码的特性,并结合实际场景来设计有效的识别算法。

    Freemarker 学习笔记一 【乱码解决】

    此外,如果乱码问题出现在文件读写过程中,检查文件的编码设置。例如,如果你在读取CSV文件时遇到乱码,可以使用`BufferedReader`配合`CharsetDecoder`来指定编码: ```java InputStreamReader reader = new ...

    csv导出大量数据

    - 编程语言:Python、Java、R、Ruby等编程语言都有库或内置函数支持CSV文件的读写,如Python的`pandas`库和`csv`模块。 5. 分块导出与流式处理 对于海量数据,可以采用分块导出,每次只处理一部分数据,减少内存...

    java代码导出xls文件,jxl包齐全,有详细的解释

    在本场景中,我们使用的是JXL库,这是一个广泛使用的Java库,专为读写Excel文件而设计。JXL不仅支持基本的数据操作,还能处理复杂的格式设置,如单元格样式、公式以及图像。 首先,我们需要了解JXL库的基本用法。...

    JAVA主键随机+SELECT联动+数据库随机取数+F5刷新+字符编码乱码

    如果是后者,可能是一个CSV或JSON文件,需要通过Java的IO流读取并解析数据,可能还需要处理字符编码问题以避免乱码。 综上所述,这个主题涵盖了Java开发中的多个方面,包括数据库操作、前端交互以及字符编码处理,...

    data.txt文件

    文本文件可能存在不同的编码格式(如UTF-8、ASCII等),在读写文件时应正确指定编码,避免乱码问题。 #### 3. 文件路径 正确处理文件路径是文件操作的关键,特别是在跨平台项目中。使用操作系统提供的路径分割符...

    CSV

    6. 读写操作:在编程语言中,如Python、Java、C#等,都有内置的库或模块支持CSV文件的读写,例如Python的`csv`模块。 7. 行结束符:不同操作系统可能使用不同的行结束符,如Windows的`\r\n`,Unix/Linux的`\n`,...

    servlet导出文件

    6. **字符编码**:在处理文件内容时,注意字符编码的设置,避免乱码问题。 7. **Apache POI**:如果涉及到Excel文件的导出,Apache POI是一个强大的库,可以用来创建和修改MS Office文件,包括XLS和XLSX格式。 8. ...

    文件编码检测

    此外,在处理CSV、XML、JSON等数据文件时,也需要关注编码问题,确保数据的正确传输和解析。 6. **最佳实践**:为了避免编码问题,推荐在保存文件时统一使用UTF-8无BOM格式,因为它广泛支持且兼容性好。同时,处理...

    自己写的简繁通代码,用JAVA实现

    在处理中文字符时,确保正确选择并使用合适的字符编码至关重要,否则可能会导致乱码问题。 接下来,我们讨论如何实现简繁通代码。在Java中,可以创建一个`Map, Character&gt;`(或`HashMap, Character&gt;`)对象来存储简...

Global site tag (gtag.js) - Google Analytics