如何解决Java IO读取文件中文乱码问题

如题所述

/** * 读取文件内容 * * @param filePathAndName String 读取文件路径 * @return String 文件中的内容 */ public static String readFile(String filePathAndName) { String fileContent = ""; try { File f = new File(filePathAndName); if(f.isFile()&&f.exists()){ InputStreamReader read = new InputStreamReader(new FileInputStream(f),"UTF-8"); BufferedReader reader=new BufferedReader(read); String line; while ((line = reader.readLine()) != null) { fileContent += line; } read.close(); } } catch (Exception e) { System.out.println("读取文件内容操作出错"); e.printStackTrace(); } return fileContent; } 2、JAVA写入文件,避免中文乱码。 /** * 写文件 * * @param filePathAndName String 写文件路径 * @param fileContent String 需要写入的内容 */ public static void writeFile(String filePathAndName, String fileContent) { try { File f = new File(filePathAndName); if (!f.exists()) { f.createNewFile(); } OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f),"UTF-8"); BufferedWriter writer=new BufferedWriter(write); //PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filePathAndName))); //PrintWriter writer = new PrintWriter(new FileWriter(filePathAndName)); writer.write(fileContent); writer.close(); } catch (Exception e) { System.out.println("写文件内容操作出错"); e.printStackTrace(); } }
温馨提示:内容为网友见解,仅供参考
无其他回答

java文件抓取网页的中文字符串编码问题,两个字人名正常,第三个字就...
这个是你页面接受的参数乱码啊,你得看下你web后台怎么处理参数接受和传递的。你爬过来的这段代码没有问题,记得关流。System.out.println(sb.toString());out.flush();out.close();in.close();

java的randomaccessfile读写文件中文乱码问题
java中RandomAccessFile存取读写文件,需要用getBytes()先转换编码,中文乱码解决示例):package Iec104Config;import java.io.*;public class Test { public static void main(String[] args)throws IOException{ String stringToBeSaved="测\\naa"; FileWriter saveFile=new FileWriter("Test.txt...

字符流和字节流的区别以及如何解决乱码问题
音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.字节流可用于...

java filechannel读取txt 乱码
乱码肯定是编码问题的原因,你首先检查下你生成的TXT是不是乱码,然后再检查读入后输出的是不是乱码,每个有关字符串编码的处理都可以用new String(otherString.getBytes("源编码集"),“目的编码集”);进行处理

java打开excel乱码
workbook.setSheetName(0, sheetName,(short)1); \/\/这里(short)1是解决中文乱码的关键;而第一个参数是工作表的索引号。没有太多原因,POI就是如此;再说导出的EXCEL文件名的中文乱码问题, 导出时代码如下:...this.getResponse().reset();this.getResponse().setContentType("application\/msexcel")...

java读取文件每一行?
核心就是:readLine()方法,一行一行的读!java怎么读入文件,并逐行输出java读入文件,并逐行输出,先在D:\/\/home建立个文件夹,然后创建一个a.txt文件,然后编辑文件,文本编辑的编码是utf-8,然后用流逐行读取输出,如下:import?java.io.BufferedInputStream;import?java.io.BufferedReader;import?java.io....

Java字符流和字节流对文件操作的区别
Java中的字符在内部都是使用Unicode进行表示的,因此,要正确读取字符数据,需要知道字符的编码字符集,字符流提供编码字符集的指定,如果不指定使用系统默认的方式对字符数据进行编码转换,这个编码字符集不正确,会造成读进来的地字符出现乱码。字节流虽然是读取二进制数据用的,但也可以读取字符文件,按字节...

如何解决java程序解压含有中文名的zip压缩包出现乱码
报找不到文件名,所以报了空指针,想到ant构建文件也有这个功能,换了apache的ant.jar居然解决了中文的问题。备份下。�0�2import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStreamReader;import java.util.Enumeration;import org....

怎么解决读取txt文件读取时中文乱码问题
从SDCard保存的txt文件读取中文到android系统中会出现乱码问题,如何解决这个乱码问题,网上有不少解答方法,譬如说利用String temp1 =EncodingUtils.getString(strLine.getBytes(),"GB2312"); 但并非对所有的情况都适用,解决乱码问题首先要明白为什么会乱码。究其原因,是因为txt文件在win系统上保存时默认为...

java程序运行,用输入输出流读取c盘中的一个文件读取不到提示FileNotFou...
其他贴子都是常规的路径问题,如果解决不了,可以参考我的回答;答案是这样的:你的路径是复制属性->安全->对象名称的路径;这是有问题的;你可以试一下,打开cmd把路径复制上去会发现根目录前有不知道啥的乱码;所以:手写路径。希望对后来的兄弟有帮助。

相似回答