解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题

最近遇到了一个小麻烦,就是在eclipse环境中读写UTF-8格式的txt文件时很正常,但是当导出成jar包后,通过点击来读写文件时出现了部分中文乱码问题。

解决办法:

开始时用的是FileReader和FileWriter来读写的,后来改成用InputStreamReader和OutputStreamWriter后问题解决

关键代码:

BufferedReader reader;
BufferedWriter writer;

//reader = new BufferedReader(new FileReader(new File(filedir,filename)));
reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(filedir,filename)),"UTF-8"));

//writer = new BufferedWriter(new FileWriter(new File(filedir,emailDomain+".txt"),true));
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(filedir,emailDomain+".txt"),true),"UTF-8"));

(PS:不用管代码中的具体文件路径和文件名,看懂思路即可)

时间: 2025-01-14 01:45:52

解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题的相关文章

eclipse中java项目转成Web项目

在eclipse导入一个myeclipse建的web项目后,在Eclipse中显示的还是java项目,按下面的步骤可以将其转换成web项目. 1.找到项目目录下的.project文件 2.编辑.project文件,找到<natures>...</natures> 3.2中找到的结点中加下面的的代码 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>o

Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参

Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参 一.打包 情况1:不需要向程序传参数,并且程序没有使用第三方jar包 Eclipse上导出jar: 然后选择一个java文件作为入库,需要带main()主函数: 情况2:向程序传参数,并且程序没有使用第三方jar包 这种情形下打包和情况1是一样的 情况3:程序使用了第三方jar包 这种情况下的打包要复杂一些,需要把第三方jar包一起导出,可以使用eclipse的插件fat jar,很简便,但是fat jar只支持eclipse

maven把项目打包成jar包后找不到velocity模板的bug

使用springmvc 开发时候要实现发送velcotiy模板邮件,在配置正常后,在本地测试正常后,使用maven打包成jar包后,报以下错误, Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'templates/index.vm' at org.apache.velocity.runtime.resource.ResourceManagerImpl.load

Java项目导出源代码jar包在Eclipse中查看中文注释乱码的问题

问题现场: 由于项目比较多,全部添加到Maven主项目中的话虽然更新调试方便,但项目多了严重影响Eclipse的速度,所以将一部分项目单独导出包含源代码的jar包,上传到nexus上,供其它项目引用:但是在引用的项目中通过Eclipse查看时,中文注释都变成了乱码. 其实这是eclipse的默认编码造成的问题. 解决方案: 1.修改Eclipse中文本文件的默认编码: windows->Preferences->general->Workspace->Text file encod

eclipse中的项目导出成Androidstudio的识别的项目,so文件打包不进去

需要加入jniLibs.srcDirs = ['libs']才可以把so文件打入包内 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['as

解决eclipse中web项目出现Project facet Java version 1.8 is not supported.的问题

解决eclipse中web项目出现Project facet Java version 1.7 is not supported.的问题 这个错误是因为eclipse中没有jdk1.7,把jdk1.7引进来就好啦 方法/步骤 项目名称上右键选择properties(属性)   B处出现错误的话则双击JRE System library添加java的运行环境如下图所示   如果alternate JRE要是没有的话,可以点击Installed JREs选择自己安装的JRE环境,如下图所示   如果

将引用了第三方jar包的Java项目打包成jar文件的两种方法

方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下: Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.

【Java】Java程序打包成jar包在Linux上运行

当需要把在Windows上开发的Java程序用在Linux上运行时,就需要吧该Java程序打包成jar包上传到Linux上去运行. 1.Java程序用MyEclipse打包成可运行的jar包 (1)在MyEclipse中选中需要打包的项目,点击右键,选择:Export... 如下图所示: (2)然后在弹出的窗口中选择:Java-->Runnable JAR file,然后点击:Next,如下图所示: (3)然后选择需要打包的程序和保存的地方,然后点击:Finish,如下图所示: 这样Java程序

Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法

方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下: Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.