关于BufferedInputStream.read()的用法

myyhml myyhml 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
//初始化文件对象
File file = new File("E:/S2文件/JSP","Student");
//创建目录
//out.println(file.mkdir());
//在根目录下创建文件
File f = new File(file,"myFile.txt");
//创建输出流
FileOutputStream fileout = new FileOutputStream(f);
//创建缓存输出流
BufferedOutputStream buffOut = new BufferedOutputStream(fileout);
//创建字节数组
byte b [] = "你们好,很高兴认识你们啊!".getBytes();
//将字节数组写入输出流
buffOut.write(b);
//将缓存输出流中的数据保存至目标文件
buffOut.flush();
//关闭输出流
fileout.close();
//创建输入流对象
FileInputStream in = new FileInputStream(f);
//创建缓存输入流对象
BufferedInputStream bufin = new BufferedInputStream(in);
//设置缓冲区
byte c [] = new byte[10];
int n = 0;
while((n=bufin.read(c))!=-1){
String temp = new String(c,0,n);
out.println(temp);
}
//关闭缓存输入流
bufin.close();
//关闭输入流
in.close();
上面的代码中,为什么当我把byte字节数组的长度给为5时就会出现“你们�茫�高兴�鲜赌�们啊! ”乱码现象呢,而且如果我把 byte b [] = "你们好,很高兴认识你们啊!".getBytes();改为“ byte b [] = "nice to meet you".getBytes();
”这时虽然读出来没有出现乱码,但读出的单词并不连续,请问这是什么原因噢,本人自己学java的文件操作这块,就像中文乱码的问题怎么处理?还有就是字节数组中的长度应该依据什么来给才最合适。
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
myyhml
Web 开发 81,108 成员 341,721 内容