[求助] JDK1.4方法读文件出现乱码,请帮忙! 中文?中文要两个字节的你这样变换,char是一个字节的,肯定要出问题的。如果全是英文字符应该不会出太大的问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 啊,想起来了,读出的byte要包装一下才行的,中间要有个转换,所以一般读的时候使用BufferedReader来读,中间java处理掉了。 读一个文件干吗写得这么复杂,其实有很简单的实现方法,中文也不会辣手。如:FileInputStream fis = new FileInputStream( filename);//文件名包括路径InputStreamReader isr = new InputStreamReader(fis, "iso8859-1") ;BufferedReader br = new BufferedReader(isr);然后用br.readLine()一行一行的读,不会出现中文乱码问题。 这是JDK1.4里的新方法,我想用这个实现,帮我看看这个为什么不行,不管是中文还是英文读出来都是乱码! 解:import java.io.*;import java.nio.channels.*;import java.nio.*;import java.nio.charset.Charset;public class ReadFile{ public static void main(String[] args) { ReadFile rf = new ReadFile(); System.out.println(rf.Rf(args[0])); } public ReadFile(){}; public String Rf(String filename) { String reString = ""; File myfile = new File(filename); FileInputStream inputFile = null; try { inputFile = new FileInputStream(myfile); //System.out.println("File stream creanted successfully."); FileChannel inChannel = inputFile.getChannel(); ByteBuffer buf = ByteBuffer.allocate(200); //CharBuffer buf = CharBuffer.allocate(200); //他妈的原来是这么一回事 Charset cs = Charset.forName("gb2312"); byte[] bt=null; while(inChannel.read(buf)!=-1) { buf.flip(); CharBuffer charbuf = buf.asCharBuffer(); reString =reString + (cs.decode(buf)).toString(); buf.clear(); } inputFile.close(); } catch(IOException e) { e.printStackTrace(System.err); } return reString; }} java编写的俄罗斯方块用Timer来执行“开始”,可是用Timer怎么来执行暂停和结束呢 求大神指导,为什么会抛数组下标越界异常。 swing自动关机器一点小问题 有哪位接触过JAVA、ORACLE与条码技术方面的项目?看看问题如何实现? 写路径的一个问题 int 类型是字长为2字节共16位二进制数,请问将一int数放入byte[]数组里该如何处理 有关于JScrollBar的问题,在线等待!! 帮我看看这段代码那里错了!! 请高手赐教! 构造方法 ***java如何往windows里的剪贴板里放值(100分)**** 如何在一个静态(static)方法中获得调用该方法类名?
中文也不会辣手。如:
FileInputStream fis = new FileInputStream( filename);//文件名包括路径
InputStreamReader isr = new InputStreamReader(fis, "iso8859-1") ;
BufferedReader br = new BufferedReader(isr);
然后用br.readLine()一行一行的读,不会出现中文乱码问题。
import java.io.*;
import java.nio.channels.*;
import java.nio.*;
import java.nio.charset.Charset;public class ReadFile
{
public static void main(String[] args)
{
ReadFile rf = new ReadFile();
System.out.println(rf.Rf(args[0]));
} public ReadFile(){};
public String Rf(String filename)
{
String reString = "";
File myfile = new File(filename);
FileInputStream inputFile = null;
try
{
inputFile = new FileInputStream(myfile);
//System.out.println("File stream creanted successfully.");
FileChannel inChannel = inputFile.getChannel();
ByteBuffer buf = ByteBuffer.allocate(200);
//CharBuffer buf = CharBuffer.allocate(200);
//他妈的原来是这么一回事
Charset cs = Charset.forName("gb2312");
byte[] bt=null;
while(inChannel.read(buf)!=-1)
{
buf.flip();
CharBuffer charbuf = buf.asCharBuffer();
reString =reString + (cs.decode(buf)).toString();
buf.clear();
}
inputFile.close();
}
catch(IOException e)
{
e.printStackTrace(System.err);
}
return reString;
}
}