当前位置:网站首页>异常:IOException:Stream Closed
异常:IOException:Stream Closed
2022-07-06 09:18:00 【非风之想】
异常提示
Exception in thread “main” java.io.IOException: Stream Closed
流被关闭了。
代码如下
写的是一个把多个被切割的MP3文件合并成一个MP3文件。
public class MergeFileDemo{
public static void main(String[] args) throws IOException {
File dir=new File("gril");
mergeFile(dir);
}
public static void mergeFile(File dir) throws IOException {
//
ArrayList<FileInputStream> al=new ArrayList<FileInputStream>();
for (int i = 1; i <= 5; i++) {
al.add(new FileInputStream(new File(dir,i+".part")));
Enumeration<FileInputStream> en=Collections.enumeration(al);
SequenceInputStream sis=new SequenceInputStream(en);
FileOutputStream fos=new FileOutputStream(new File(dir,"丐帮主题.mp3"));
byte[] buf=new byte[1024];
int len=0;
while((len=sis.read(buf))!=-1) {
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
}
}
问题分析
流被关闭肯定是fos.close();和sis.close();出了问题,仔细检查发现关闭流写在了for循环里面,第一次循环时就关掉了流。而且这个for循环时将所有文件添加al.add();后就结束了,这里将后面的代码也写进去了,所以造成了异常。
解决方法
fos.close();
sis.close();
将流关闭写在for循环外面。将for循环代码块修改为下,也就是将}放到al.add();后面。
for (int i = 1; i <= 5; i++) {
al.add(new FileInputStream(new File(dir,i+".part")));
}
边栏推荐
- Fabrication d'un sac à dos simple fairygui
- Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)
- On March 15, the official version of go 1.18 was released to learn about the latest features and usage
- PRIDE-PPPAR源码解析
- [GNSS] robust estimation (robust estimation) principle and program implementation
- Programming homework: educational administration management system (C language)
- 地球围绕太阳转
- [untitled]
- Introduction to the daily practice column of the Blue Bridge Cup
- FairyGUI按钮动效的混用
猜你喜欢
![[算法] 剑指offer2 golang 面试题9:乘积小于k的子数组](/img/65/fc3fb5a217a3b44f506b695af53e2c.png)
[算法] 剑指offer2 golang 面试题9:乘积小于k的子数组

Design and implementation of general interface open platform - (39) simple and crude implementation of API services

The service robots that have been hyped by capital and the Winter Olympics are not just a flash in the pan

Unity scene jump and exit

KF UD分解之UD分解基础篇【1】

Fairygui loop list

The port is occupied because the service is not shut down normally

Idea problem record

Particle system for introduction to unity3d Foundation (attribute introduction + case production of flame particle system)
![[算法] 剑指offer2 golang 面试题1:整数除法](/img/e6/f17135207b3540ec58e5a9eed54220.png)
[算法] 剑指offer2 golang 面试题1:整数除法
随机推荐
Fairygui character status Popup
rtklib单点定位spp使用抗差估计遇到的问题及解决
IText 7 generate PDF summary
Office提示您的许可证不是正版弹框解决
【干货】提升RTK模糊度固定率的建议之周跳探测
Usage differences between isempty and isblank
[算法] 剑指offer2 golang 面试题4:只出现一次的数字
[rtklib] preliminary practice of using robust adaptive Kalman filter under RTK
Fairygui joystick
[algorithm] sword finger offer2 golang interview question 4: numbers that appear only once
Mysql database index
Easy to use shortcut keys in idea
[算法] 剑指offer2 golang 面试题12:左右两边子数组的和相等
抗差估计在rtklib的pntpos函数(标准单点定位spp)中的c代码实现
The port is occupied because the service is not shut down normally
Unity3D基础入门之粒子系统(属性介绍+火焰粒子系统案例制作)
[algorithm] sword finger offer2 golang interview question 6: sum of two numbers in the sorting array
Combination of fairygui check box and progress bar
KF UD分解之伪代码实现进阶篇【2】
闇の連鎖(LCA+树上差分)