Java字节流读取文件时,为什么英文字符不会变成一个空格一个字符

weixin_44085432 2020-06-30 09:09:54
import java.io.*;

public class Test
{
public static void main(String[] args) throws Exception
{
FileInputStream fi = new FileInputStream("D:\\test\\Test.java");
int ch;

ch = fi.read();
while (-1 != ch)
{
System.out.printf("%c", ch);
ch = fi.read();
}
fi.close();
System.out.printf("哈哈哈");
}
}

——————————JDK中运行结果————————————
import java.io.*;

public class Test
{
public static void main(String[] args) throws Exception
{
FileInputStream fi = new FileInputStream("D:\\test\\Test.java");
int ch;

ch = fi.read();
while (-1 != ch)
{
System.out.printf("%c", ch);
ch = fi.read();
}
fi.close();
System.out.printf("??????");
}
}
哈哈哈
————————————————————————————
Java里的英文字符也是以两个字节储存的,那一个字节一个字节读取不是会读取到高字节的八位0吗?为什么英文之间没有空格呢?
...全文
3028 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2020-06-30
  • 打赏
  • 举报
回复
英文是一个字节
fengjian_428 2020-06-30
  • 打赏
  • 举报
回复
你是以字符读取的 英文是一个字节 汉子是两个字节

50,503

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧