Scripts 学盟
标题:
Java 读取文本文件内容
[打印本页]
作者:
Alvin
时间:
2011-4-7 23:47:12
标题:
Java 读取文本文件内容
在 Java 开发中,经常有网友遇到读取文本文件内容时,出现乱码的情况
大家可能也都知道是编码问题,但是如何正确加载文本内容呢?
可以参考下面代码:
/**
* (#)ReadText.java 创建时间:Apr 7, 2011 11:14:16 PM<br />
*/
package org.iscripts.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @author 林俊海(ialvin.cn) 广东·普宁·里湖
*/
public class TextUtil {
/**
* 从文件中读取文本内容, 读取时使用平台默认编码解码文件中的字节序列
* @param file 目标文件
* @return
* @throws IOException
*/
public static String loadStringFromFile(File file) throws IOException {
return TextUtil.loadStringFromFile(file, System.getProperty("file.encoding"));
}
/**
* 从文件中读取文本内容
* @param file 目标文件
* @param encoding 目标文件的文本编码格式
* @return
* @throws IOException
*/
public static String loadStringFromFile(File file, String encoding) throws IOException {
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), encoding));
StringBuilder builder = new StringBuilder();
char[] chars = new char[4096];
int length = 0;
while (0 < (length = reader.read(chars))) {
builder.append(chars, 0, length);
}
return builder.toString();
} finally {
try {
if (reader != null) reader.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
public static void main(String[] args) throws IOException {
File file = new File("D:\\我的文本.txt");
System.out.println(loadStringFromFile(file, "GBK"));
}
}
复制代码
当然,如果要读取的目标文本文件是以 utf-8 或者 unicode 等编码存储的,那么 TextUtils.loadStringFromFile 方法第二个参数就要指定相应的编码格式。
附:《Java 写入文本文件》-
http://www.iscripts.org/bbs/viewthread.php?tid=34
作者:
那个谁
时间:
2011-9-13 08:06:08
木有人顶下!!!!
欢迎光临 Scripts 学盟 (http://www.iscripts.org/)
Powered by Discuz! X2