javaio流 - 爱问答

(爱问答)

javaio流

将E盘liang文件复制到E盘mySite中

fos = new FileInputStream("e:liang ext.txt");

fis = new FileOutputStream("e:mySite2.txt");

byte []b = new byte[1024];

int len = -1;

while((len=fos.read(b))!=-1){

fis.write(b, 0, len);

}

System.out.println("复制成功!");


1.int len 必须等于-1吗?

2.len是int类型 fos.read(b)类型不一样 ,不报错为什么?(好懵逼希望有大神指教)

1.int len可以=任意int,如果fos.read(b)=-1表示已经读取完成,所以让len=-1只是做一个预设读完了,不过随着读出来的值不一样len也会被赋值。

2.public int read(byte b[]) throws IOException {
return read(b, 0, b.length);
}

jdk提供read方法是返回一个int 用int接收没有任何问题,不会报错

3.使用完输入输出流请及时关闭流。

InputStream fos = null;
OutputStream fis = null;
try {
fos = new FileInputStream("e:liang ext.txt");
fis = new FileOutputStream("e:mySite2.txt");
    byte[] b = new byte[1024];
    int len = -1;
    while ((len = fos.read(b)) != -1) {
fis.write(b, 0, len);
}
System.out.println("复制成功!");
}catch (Exception e){
e.printStackTrace();
}finally {
if(fos !=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
    }
if(fis !=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
    }
}

相关标签:java

下一篇:数据块是存储大小吗

上一篇:为什么每创建一个Pythonfile,就需要重新添加库

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?