关于字节流的问题。 请问在字节流中,流按字节来读取和写入数据,但是如果一个字符的2进制是2个字节的,那么读取的时候,流是如何判断读出的2个字节是一个字符的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 流自身是无法判断的. 这个判断得由你作出..什么时候用字符流 什么时候用字节流. 要是流会自己判断的话..那就不会有这么多乱码的问题了.下面有两段jdk的 inputstream 跟 Reader的代码. 你就能清楚的开出来怎么读了..InputStream: public int read(byte b[]) throws IOException {//很明显是按照 byte来读的. return read(b, 0, b.length); }Reader: public int read() throws IOException {//很明显是按照char 来读的. 而java里面的char是可以装中文的. 所以用这个字符流可以读中文字符. char cb[] = new char[1]; if (read(cb, 0, 1) == -1) return -1; else return cb[0]; }就这样喽.. 我觉得这个没什么问题一般不可能字节和字符混用,byte得到后也可以转成String Java UDP文件传输,传输后文件损坏...... 为什么在按钮上图标无法显示出来??路径没有错 转成EXE文件的问题 HashSet的小问题.. 提一个窗口失效的问题??谢了 问一个很菜的问题!! import的一个问题 CSDN上就没有人解决这个问题了吗?再加50分。 外行问一下:JAVA类库和MFC及VCL一样也开放源码么?? 使用VJ如何才能在Applet中draw透明图片??? Java中Menu时间 输入两个参数,一个是一组数,第二个是一个整形数(每个组合的个数),要求返回所有的组合
InputStream:
public int read(byte b[]) throws IOException {//很明显是按照 byte来读的.
return read(b, 0, b.length);
}Reader:
public int read() throws IOException {//很明显是按照char 来读的. 而java里面的char是可以装中文的. 所以用这个字符流可以读中文字符.
char cb[] = new char[1];
if (read(cb, 0, 1) == -1)
return -1;
else
return cb[0];
}就这样喽..