【www.guakaob.com--软件设计师】
《为什么TXT文件打开是乱码》
txt文本文档乱码 第一篇
为什么TXT文件打开是乱码?
因为最近升级了win8系统,操作上有很多地方都不是很适应,win8到win7真的好多地方都在变,这不,为了让系统的兼容性更加的适合自己,我特意的去下载了一些可以改变系统兼容性的软件,搞着搞着,连我自己都迷茫了,系统好像让我弄得有些错乱了不是,本来准备不弄了,来写写工作的稿子,但是没想到写好之后保存到桌面,准备检查一下有没有错字的,居然打开之后就全部是乱码了,晕死,这是怎么回事?
到网上查询了一下,原来还真有朋友和我一样倒霉,遇上这种问题,更巧的是这个朋友也是因为升级到win8系统出现的毛病,汗,看来有病的不是我的TXT,而是这个恼人的win8系统,单手原因虽然找到了,解决的办法我还是没辙的,到底要怎么办才好?
最后,还是强大的互联网帮助了我,在网上我找到了一款叫做小牛文件恢复软件的工具,花了五分钟学会了软件的操作,网上的朋友说,这款软件对于修复文件的错乱问题有很好的效果。想知道我为什么花了五分钟就学会了吗?
首先,这款软件的操作非常的简单。打开软件就可以看到扫描的功能,将扫描的位置,也就是丢失文件的位置确定之后,软件会自动开始扫描,只要文件夹中的文件没有太多,也就最多一分钟的功夫就可以扫描出来,之后咱们选择需要恢复的软件,然后确定一个保存的位置,那么我们的操作也就完成了,之后,软件会开始自动的恢复文件,我们等待恢复完成即可。
《Java读取TXT文本文件乱码解决方案》
txt文本文档乱码 第二篇
Java读取TXT文本文件乱码解决方案
今天在解析一个文本文件的时候出现了乱码,以前从未遇到,花了点时间解决了,在此总结一下:
首先,先看一下解析的代码:
private String[] getProjectData(File file){
} String[] data = null; try { } return data; BufferedReader br = new BufferedReader(new FileReader(file)); String str = br.readLine(); data = str.split("\t"); br.close(); e.printStackTrace(); e.printStackTrace(); } catch (FileNotFoundException e) { } catch (IOException e) {
这个方法很简单,就是获取txt文件中的一行数据,然后转换为数组,我这个文本中只有一行。就这种情况下获取到的str是乱码,我想出现乱码肯定是字符集编码的问题,然后自己新建了一个文本文档测试没有问题(开始用的文本时别的程序导出的),所以我估计是开始那个txt文件编码的问题,查看发现是Unicode编码(如何查看txt的编码呢,教你一个笨笨的办法:打开文件——另存为,然后看到最下面的编码,默认选择的就是当前文档的编码格式),问题就出现在这里。问题找到了就好解决了,修改代码为:
private String[] getProjectData(File file){
} String[] data = null; try { } return data; BufferedReader br = new BufferedReader(new String str = br.readLine(); data = str.split("\t"); br.close(); e.printStackTrace(); e.printStackTrace(); InputStreamReader(new FileInputStream(file),"UTF-16")); } catch (FileNotFoundException e) { } catch (IOException e) {
使用文件流读取,转换编码为“UTF-16”,这样乱码问题就解决了。
归纳一下:
txt文本文档有四种编码选项:ANSI、Unicode、Unicode big endian、UTF-8;默认应该是ANSI选项,就是系统的默认编码,一般是GBK,这种情况下用第一段代码解析是没有问题的,
也不需要转码;其他格式就需要用第二段代码对应转码了,Unicode对应UTF-16,UTF-8就不用说了。【txt文本文档乱码】
关于获取txt文件编码,我们可能有时候需要用程序获取,动态判断,这里给一点资料,参考参考:
ANSI: 无格式定义
Unicode: 前两个字节为FFFE Unicode文档以0xFFFE开头
Unicode big endian: 前两字节为FEFF
UTF-8: 前两字节为EFBB UTF-8以0xEFBBBF开头
用程序取出前几个字节并进行判断即可。
package com.syscan.oa.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;【txt文本文档乱码】
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ReadWritTxtFileIO {
//
//
String path = "d:/file4.txt"; String[] str = writeToDat(path); System.out.println("str.length == " +str.length); for (int i = 0; i < str.length; i++) { } System.out.println(str[i]); String[] splitStr = str[i].split("#"); System.out.println("splitStr.length == " +splitStr.length); for(int j = 0; j < splitStr.length; j++) { } System.out.println(splitStr[j]); WriteDate(); public static void main(String[] args) { ReadDate(); //
BufferedWriter output = new BufferedWriter(new FileWriter(file)); file.createNewFile(); } file.delete(); try { File file = new File("D:/abc.txt"); if (file.exists()) { /** * 写入数据 */ @SuppressWarnings("unchecked") public static void WriteDate() { /** * 读取数据 */ public static void ReadDate() { } String url = "e:/2.txt"; try { } FileReader read = new FileReader(new File(url)); StringBuffer sb = new StringBuffer(); char ch[] = new char[1024]; int d = read.read(ch); while (d != -1) { } System.out.print(sb.toString()); e.printStackTrace(); e.printStackTrace(); String str = new String(ch, 0, d); sb.append(str); d = read.read(ch); } } catch (FileNotFoundException e) { } catch (IOException e) {
} } } for (int i = 0; i < 10; i++) { } for (int i = 0; i < ResolveList.size(); i++) { } output.close(); System.out.println(ex); output.write(String.valueOf(ResolveList.get(i)) + "\n"); ResolveList.add(Math.random() * 100); } catch (Exception ex) { @SuppressWarnings("unchecked") public static String[] writeToDat(String path) { } File file = new File(path); List list = new ArrayList(); String[] str = null; try { } // 确定数组长度 str = new String[list.size()]; for (int i = 0; i < list.size(); i++) { } return str; String s = (String) list.get(i); str[i] = s; BufferedReader bw = new BufferedReader(new FileReader(file)); String line = null; // 因为不知道有几行数据,所以先存入list集合中 while ((line = bw.readLine()) != null) { } bw.close(); e.printStackTrace(); list.add(line); } catch (IOException e) {
《Word2010轻松解决TXT文字乱码》
txt文本文档乱码 第三篇
Word2010轻松解决TXT文字乱码(图文) 相信不少网友都有这样的经历,从网上下载的一些TXT文件在本地电脑上打开的时候,内容显示为乱码。这是怎么回事呢?实际上,这些字符是繁体中文,它的文字编码在简体中文的操作系统中找不到对应的字符集,所以就显示成了乱码。
1. 运行Word2010,然后选择“文件→打开”菜单,选择你要打开的TXT文件。这时,Word【txt文本文档乱码】
会提示你这个文档的文字彩的编码方式以及采用什么样的编码打开文件能够正常显示。我们在此选择“其它编码”中的“繁体中文(BIG5)”,在下面的预览窗口中,就可以看见正常的繁体中文显示了。
2. 点击“确定”按钮,即可将这篇TXT文件用Word打开,并以繁体中文显示。
3. 如果觉得繁体中文显示不太方便阅读的话,点击“审阅”,选择“繁转简”,这样即可得到
简体中文的文档。
4. 为了方便以后阅读,可能将转换好的文件保存。如果要保存为TXT文件,可以采用“
复
制
”再“粘贴”的方式保存。也可以直接把转换好的文件保存为“.DOC”格式。
5. 有些人在电脑上打开txt文件正常在手机上打开乱码,此时很可能与编码有关,记事本
默认可以用记事本打开文件,另存为,在对话框下方的“编码方式“选择utf-8即可。
《.txt文本文档为什么打开是乱码》
txt文本文档乱码 第四篇
《为什么word文档打开是乱码》
txt文本文档乱码 第五篇