java BufferedReader 读取文件 乱码,求解 File file = new File("D:/aa.cer");InputStreamReader isr;isr = new InputStreamReader(new FileInputStream(file),"utf-8");String line=null;while((line=bf.readLine())!=null){ System.out.print(line);}编码设置过还是乱码,求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 File file = new File("D:/aa.cer"); FileReader fr=null; try { fr = new FileReader(file); char[] temp=new char[(int) file.length()]; fr.read(temp); fr.close(); System.out.println(new String(temp)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }如果中文乱码的话 我也无能为力 不过英文的话这个绝对不会乱码 你确定你的D:/aa.cer文件时utf-8编码的吗? notepad打开以后,文件->保存为->就可以看到编码 可以测试文件的编码,然后根据编码来打开文件的:http://blog.csdn.net/wula0010/article/details/6862696 分别调用下面的两个方法,看看输出什么public static void readGBKCodingFile(String fileName) {//读取GBK文件的内容 BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( fileName), "gbk")); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (Exception e) { } finally { try { if (br != null) br.close(); } catch (IOException e) { } } } public static void readUTFCodingFile(String fileName) {//读取UTF-8文件的内容 BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( fileName), "utf-8")); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (Exception e) { } finally { try { if (br != null) br.close(); } catch (IOException e) { } } } 你想转化文件格式,试试下面的两个方法 public static void convertGBKFileToUTFFile(String srcFileName, String destFileName) {//把GBK文件转换为UTF文件 BufferedReader br = null; ; BufferedWriter bw = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( srcFileName), "gbk")); bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(destFileName), "UTF-8")); String line = null; while ((line = br.readLine()) != null) { bw.write(line); bw.newLine(); } } catch (Exception e) { } finally { try { if (br != null) br.close(); if (bw != null) bw.close(); } catch (IOException e) { } } } public static void convertUTFFileToGBKFile(String srcFileName, String destFileName) {//把GBK文件转换为UTF文件 BufferedReader br = null; ; BufferedWriter bw = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( srcFileName), "utf-8")); bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(destFileName), "gbk")); String line = null; while ((line = br.readLine()) != null) { bw.write(line); bw.newLine(); } } catch (Exception e) { } finally { try { if (br != null) br.close(); if (bw != null) bw.close(); } catch (IOException e) { } } } public class TestFileCodingConvert { public static void main(String[] args) throws IOException { test(); } public static void test(){//如果first.txt是GBK编码的文件,将会输出正常的4段信息 convertGBKFileToUTFFile("c:/first.txt", "c:/second.txt"); readGBKCodingFile("c:/first.txt"); readUTFCodingFile("c:/second.txt"); convertUTFFileToGBKFile("c:/second.txt", "c:/third.txt"); readGBKCodingFile("c:/third.txt"); readUTFCodingFile("c:/second.txt"); } public static void convertGBKFileToUTFFile(String srcFileName, String destFileName) {//把GBK文件转换为UTF文件 BufferedReader br = null; BufferedWriter bw = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( srcFileName), "gbk")); bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(destFileName), "UTF-8")); String line = null; while ((line = br.readLine()) != null) { bw.write(line); bw.newLine(); } } catch (Exception e) { } finally { try { if (br != null) br.close(); if (bw != null) bw.close(); } catch (IOException e) { } } } public static void convertUTFFileToGBKFile(String srcFileName, String destFileName) {//把GBK文件转换为UTF文件 BufferedReader br = null; ; BufferedWriter bw = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( srcFileName), "utf-8")); bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(destFileName), "gbk")); String line = null; while ((line = br.readLine()) != null) { bw.write(line); bw.newLine(); } } catch (Exception e) { } finally { try { if (br != null) br.close(); if (bw != null) bw.close(); } catch (IOException e) { } } } public static void readGBKCodingFile(String fileName) {//读取GBK文件的内容 BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( fileName), "gbk")); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (Exception e) { } finally { try { if (br != null) br.close(); } catch (IOException e) { } } } public static void readUTFCodingFile(String fileName) {//读取UTF-8文件的内容 BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream( fileName), "utf-8")); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (Exception e) { } finally { try { if (br != null) br.close(); } catch (IOException e) { } } }} 都是乱码,utf-8 gbk都是乱码的 这样还是乱码,获取的编码是windows-1252这个 读取中文要用FileReader字符流File file = new File("D:/aa.cer");FileReader fr; fr = new FileReader(new InputStreamReader(new FileInputStream(file));String line=null;while((line=fr.readLine())!=null){ System.out.print(line);} 还是不行的,而且fr = new FileReader(new InputStreamReader(new FileInputStream(file));没有这样的写法吧,继续求解 br=new BufferedReader(new FileReader(url))String s=br.readLine()这样至少我是不会乱码 现在读出来就是乱码..获取的文件windows-1252是这个,也不知道怎么解决了,弄来弄去还是乱码的 纯文本文档bufferredreader 别的一般都用FileInputStream 不是文本文档,是个证书文件,FileInputStream用fileReader也试过了,就是不能解决的 證書文件裡面存的不是字符串,讀出來會亂碼的,直接讀出byte數組就可以了 我试过了,读取byte然后在转中文的,结果还是不行的,还是我转的有问题的,暂时也没解决的 是文本文件么?证书文件...是不是加密了所以乱码?先用记事本或者UE,editplus等文本编辑工具看打开是否乱码,如果不是乱码,用另存为查看文件编码,然后代码换成相应编码,如果是乱码的话,那估计就是加密了. 文件是不是用DataOutput写进去的?里面是一堆2进制数据。 ImageIcon???? java 变量的使用 请问谁有做过SNMP的简单网管软件,或者毕业设计,要当毕业设计的。 分页问题 每个初学者都应该搞懂的问题(5) 日期时间保存进数据库时间部分丢失的问题 谁有compuware的DevPartner Java Edition,重金酬谢! 如何在java中实现广播? 初来乍到,请多关照!!java Myfirst错误如下! :除使用vj6之外,我可用什麽办法把java编译成exe,快帮帮小妹!! java 开多线程,反而变慢,请教高手? 如何实现一个JTabbedPane的子面板都为分割面板?
FileReader fr=null; try {
fr = new FileReader(file);
char[] temp=new char[(int) file.length()];
fr.read(temp);
fr.close();
System.out.println(new String(temp));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}如果中文乱码的话 我也无能为力 不过英文的话这个绝对不会乱码
notepad打开以后,文件->保存为->就可以看到编码
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
fileName), "gbk"));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
} finally {
try {
if (br != null)
br.close();
} catch (IOException e) {
}
}
}
public static void readUTFCodingFile(String fileName) {//读取UTF-8文件的内容
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
fileName), "utf-8"));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
} finally {
try {
if (br != null)
br.close();
} catch (IOException e) {
}
}
}
你想转化文件格式,试试下面的两个方法
public static void convertGBKFileToUTFFile(String srcFileName, String destFileName) {//把GBK文件转换为UTF文件
BufferedReader br = null;
;
BufferedWriter bw = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
srcFileName), "gbk"));
bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(destFileName), "UTF-8"));
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
} catch (Exception e) {
} finally {
try {
if (br != null)
br.close();
if (bw != null)
bw.close();
} catch (IOException e) {
}
}
}
public static void convertUTFFileToGBKFile(String srcFileName, String destFileName) {//把GBK文件转换为UTF文件
BufferedReader br = null;
;
BufferedWriter bw = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
srcFileName), "utf-8"));
bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(destFileName), "gbk"));
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
} catch (Exception e) {
} finally {
try {
if (br != null)
br.close();
if (bw != null)
bw.close();
} catch (IOException e) {
}
}
}
public class TestFileCodingConvert {
public static void main(String[] args) throws IOException {
test();
}
public static void test(){//如果first.txt是GBK编码的文件,将会输出正常的4段信息
convertGBKFileToUTFFile("c:/first.txt", "c:/second.txt");
readGBKCodingFile("c:/first.txt");
readUTFCodingFile("c:/second.txt");
convertUTFFileToGBKFile("c:/second.txt", "c:/third.txt");
readGBKCodingFile("c:/third.txt");
readUTFCodingFile("c:/second.txt");
}
public static void convertGBKFileToUTFFile(String srcFileName, String destFileName) {//把GBK文件转换为UTF文件
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
srcFileName), "gbk"));
bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(destFileName), "UTF-8"));
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
} catch (Exception e) {
} finally {
try {
if (br != null)
br.close();
if (bw != null)
bw.close();
} catch (IOException e) {
}
}
}
public static void convertUTFFileToGBKFile(String srcFileName, String destFileName) {//把GBK文件转换为UTF文件
BufferedReader br = null;
;
BufferedWriter bw = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
srcFileName), "utf-8"));
bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(destFileName), "gbk"));
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
} catch (Exception e) {
} finally {
try {
if (br != null)
br.close();
if (bw != null)
bw.close();
} catch (IOException e) {
}
}
}
public static void readGBKCodingFile(String fileName) {//读取GBK文件的内容
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
fileName), "gbk"));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
} finally {
try {
if (br != null)
br.close();
} catch (IOException e) {
}
}
}
public static void readUTFCodingFile(String fileName) {//读取UTF-8文件的内容
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(
fileName), "utf-8"));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
} finally {
try {
if (br != null)
br.close();
} catch (IOException e) {
}
}
}
}
这样还是乱码,获取的编码是windows-1252这个
FileReader fr;
fr = new FileReader(new InputStreamReader(new FileInputStream(file));
String line=null;
while((line=fr.readLine())!=null){
System.out.print(line);
}
没有这样的写法吧,继续求解
String s=br.readLine()这样至少我是不会乱码
现在读出来就是乱码..获取的文件windows-1252是这个,也不知道怎么解决了,弄来弄去还是乱码的
證書文件裡面存的不是字符串,讀出來會亂碼的,直接讀出byte數組就可以了