java读写文件,如何避免中文乱码

author author     2023-04-19     561

关键词:

1、你要将所有的文件的编码都设置成UTF-8,还有,你的MyEclipse或者Eclipse应该配置jsp还有java文件还有项目都设置为UTF-8.
2、eclipse 中使用模板新建 JSP,xhtml等 文件时,默认的编码为:ISO-8859-1。 ISO-8859-1 编码对于中文的显示是不支持的,如果要支持简体中文,则编码方式应为 GBK 或者 GB2312 或者 UTF-8(推荐) 等。右键菜单栏window --> preferences --> 在type filter text中输入jsp; --> 选择下面的jsp -> 选择creating files组中的encoding 为UTF-8编码就可以了
如果要使新建立工程、java文件直接使UTF-8则需要做以下工作: 
1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧 Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。
2、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件 如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指定。
参考技术A 看你是怎么读了,,,

我觉得是,,最还将数据按行读取,存在缓冲区中,,
最后在写入文件里面,就行,。
如果是按照一个一个字符或字节读取的话,
杜宇中文来说,一个中文站2个字节,如果找不到相应的编码表的话,就会发生乱码。。。
参考技术B 最近在做HTML静态生成,需要从硬盘上把模版文件的内容读出来。然后,替换相关标签写到指定的文件中。无论是读写,都遇到了中文乱码问题。试过多种方法,发现下面一种可以避免中文乱码。(无论读取还是写入一定要进行编码转换。)

1、JAVA读取文件,避免中文乱码。

/**
* 读取文件内容
*
* @param filePathAndName
* String 如 c:\\1.txt 绝对路径
* @return boolean
*/
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写入文件,避免中文乱码。

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();



我试过写入的时候用

1、PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filePathAndName)));

2、PrintWriter writer = new PrintWriter(new FileWriter(filePathAndName));

都不行。

以上代码经过运行可以避免中文乱码,关键是要编码转换。追答

亲,参考,有任何疑问请联系我

记得采纳

本回答被提问者和网友采纳
参考技术C 统一utf-8

如何避免css:before:after中文乱码

...致某些浏览器上出现乱码。 解决方案:确保HTML、CSS文件使用UTF-8格式,并且HTML文档也使用UFT-8的字符编码格式,即HTML文档的meta信息包含 <metacharset="UTF-8">&n 查看详情

利用js获取地址栏的中文参数,如何避免取到乱码?

...这样js取值的时候会出现字符集的问题。建议还是修改ASPX文件,取到值以后生成js时赋值给某个变量。参考技术A那不叫乱码,而是url编码,js本身就是读取url编码的对于js获取url的中文你可以尝试用escape()encodeURI()encodeURIComponent()de... 查看详情

第一个java程序中文乱码以及如何解决

...gbk的不可映射字段      原因:.java文件的编码与cmd命令执行器使用的编码不一致      我们使用的.java文件的编码为UTF-8  Cmd默认使用的编码为GBK:   解决方式统一编码... 查看详情

java(io)读写文件乱码转换utf-8问题

java(IO)读写文件乱码转换UTF-8问题读取文件String?Content?=?"";?//?文件很长的话建议使用StringBuffertry?{FileInputStreamfs=newFileInputStream("文件录取");InputStreamReader?isr?=?new?InputStreamReader(fis,?"UTF-8");BufferedReader?br 查看详情

java文件从windows里拖到vmware的centos系统里中文乱码,如图。是啥原因?如何解决?

把你的代码文件的编码改成utf8编码的就可以正常显示了参考技术A保证文件编码和workspace的编码一致 查看详情

java读取文件,出现中文乱码,gb2312文件读取乱码

读取编码为gb2312格式的文件,出现中文乱码普通文件读取,通常使用FileReadertry(FileReaderfileReader=newFileReader(sampleFile);BufferedReaderbr=newBufferedReader(fileReader);){Stringline=null;StringBuildersb=newStringBuilder();while 查看详情

java文件下载中文乱码

https://www.iteye.com/blog/fanshuyao-2425604 查看详情

phpjson_encode中文乱码

...出现一个问题、中文都会被转码、变为”u****”的格式、如何避免被转码、1:PHP的版本为5.4以上;echojson_encode(‘中文‘);//"u4e2du6587"echojson_encode(‘中文‘,JSON_UNESCAPED_UNICODE);//"中文"2:先把汉字urlencode转码、在json_enc 查看详情

phpjson_encode中文乱码

...出现一个问题、中文都会被转码、变为”u****”的格式、如何避免被转码、1:PHP的版本为5.4以上;echojson_encode(‘中文‘);//"u4e2du6587"echojson_encode(‘中文‘,JSON_UNESCAPED_UNICODE);//"中文"2:先把汉字urlencode转码、在json_enc 查看详情

java本地读取文件,解决中文乱码问题

JAVA本地读取文件出现中文乱码,查阅一个大神的博客做一下记录importjava.io.BufferedInputStream;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundEx 查看详情

java文件下载以及中文乱码解决

  在客户端下载文件时替换下载文件的名称,但是当名称是中文时浏览器会出现乱码,解决代码如下:publicorg.springframework.http.ResponseEntity<InputStreamResource>handleExcel(HttpServletRequestrequest)throwsException{StringfileName="模板下载.xsls";/ 查看详情

mysql数据库中的中文乱码如何解决

...对于第三种情况,参考一下方法:编辑linux服务器中/etc/my.cnf文件,在[mysql]段加入default_character_set=utf8;如果只是调试遇到乱码问题:在编写ConnectionURL时,加上?useUnicode=true&characterEncoding= 查看详情

如何解决java项目中的中文乱码?

...(General)——工作空间(Wordspace),然后在右侧的文本文件编码格式(Textfileencoding)中选择你想要设置的编码格式,系统默认的格式为GBK。设置项目的编码:如果其他的项目中不存在乱码问题,只是个别项目显示时出现乱码,... 查看详情

java求助:如何解决地址栏传参数为中文文件路径时乱码的情况?

比如:http://localhost:7001/getNote.do?FilePath=F:\Note\短信.txt地址栏里“短信”两字显示乱码,当然得到的FilePath这个参数也显示乱码这个问题怎么解决?参考技术AStringFilePath="F:\Note\短信.txt";按1楼的配置完成后,在jsp... 查看详情

java中ftpclient上传中文目录中文文件名乱码问题解决方法好用

 转:Java中FTPClient上传中文目录、中文文件名乱码问题解决方法问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录、上传中文文件名时,目录名及文件名中的中文显示为“??”。原因: FTP协议里面,规定... 查看详情

javajsp中文乱码解决方法

...得与大家共享。一、Java中文问题的由来Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他... 查看详情

java解決bufferedreader读取utf-8文件中文乱码

链接:https://blog.csdn.net/maxracer/article/details/5436580(侵删)读取txt文件乱码:BufferedReaderread=newBufferedReader(newFileReader(newFile(filename)));解决办法:InputStreamReaderisr=newInputStreamReader(newFileInpu 查看详情

解决eclipse中java文件中文注释乱码问题

点击上方window→preferences→ContentTypes→text输入框输入UTF-8,点击update按钮,完成。 查看详情