大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Java技巧 > Java读取txt文件乱码

Java读取txt文件乱码

关键词:Javatxt乱码Java读取txt文件乱码  阅读(970) 赞(15)

[摘要]本文主要是对Java读取txt文件乱码的讲解,希望对大家学习Java读取txt文件乱码有所帮助。

  首先,要清楚自己建立的文本文件是用什么字符集编码的,编码和解码的字符集不兼容时一定会出错。

  还得知道你的操作系统默认的字符集。比如你的windows用的是gbk。

  当在不知道自己的txt是什么编码格式的情况下,可以把文件另存为UTF-8,然后在代码里对其进行相应的解码就可以了。

  下面是一个例子:

  import java.io.BufferedReader;

  import java.io.File;

  import java.io.FileInputStream;

  import java.io.InputStreamReader;

  /**

  * 读取TXE数据

  *

  * @author MIAOHUI

  *

  * TXT文本内容格式1 :

  * A1:A2:A3:A4:A5-

  * B1:B2:B3:B4:B5-

  * C1:C2:C3:C4:C5-

  *

  * TXT文本内容格式2 :

  * A1:A2:A3:A4:A5-B1:B2:B3:B4:B5-C1:C2:C3:C4:C5-

  *

  */

  public class Utils {

  public static void main(String arg[]) {

  try {

  String encoding = "UTF-8"; // 字符编码(可解决中文乱码问题 )

  File file = new File("c:/accounts.txt");

  if (file.isFile() && file.exists()) {

  InputStreamReader read = new InputStreamReader(

  new FileInputStream(file), encoding);

  BufferedReader bufferedReader = new BufferedReader(read);

  String lineTXT = null;

  while ((lineTXT = bufferedReader.readLine()) != null) {

  // System.out.println(lineTXT );

  //将文本读取出来的字符去掉"," 因为读取出来的字符是用","来分隔的

  String text = lineTXT.replaceAll(",", "");

  //用字符分隔成数组

  String[] version_1 = text.split("-");

  for (int i = 0; i < version_1.length; i++) {

  String[] version_2 = version_1[i].split(":");

  for (int j = 0; j < version_2.length; j++) {

  System.out.println(version_2[j]);

  }

  System.out.println("-------");

  }

  }

  read.close();

  }else{

  System.out.println("找不到指定的文件!");

  }

  } catch (Exception e) {

  System.out.println("读取文件内容操作出错");

  e.printStackTrace();

  }

  }

  }



相关评论