首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-12-24 
java读写csv文件,中文乱码问题java读写csv文件,中文乱码问题read/**? * 读取文件中的内容? * @param file?

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

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);
??}
?}

}

热点排行