package cn.zen.io.bytestream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.junit.Test;
public class FileOutputStreamEx {
@Test
public void method1() throws Exception {
FileOutputStream fos = new FileOutputStream("D:\\StudyIo\\haha.txt");
//字节流写入不需要flush();
fos.write("haha this is test FileOutputStream".getBytes());
fos.close();
}
@Test
public void method2() throws Exception {
FileInputStream fis = new FileInputStream("D:\\StudyIo\\haha.txt");
int len = 0;
while((len=fis.read())!=-1){
System.out.print((char)len);
}
}
@Test
public void method3() throws Exception {
FileInputStream fis = new FileInputStream("D:\\StudyIo\\haha.txt");
/*byte[] buf = new byte[1024];
int len = 0;
while((len=fis.read(buf))!=-1){
System.out.print(new String(buf,0,len));
}
*/
//可以设置刚好合适的数组 可当数据过大是不宜使用,最好还是用上面的方法:
byte[] buf = new byte[fis.available()];
fis.read(buf);
System.out.println(new String(buf));
}
@Test
public void copyPic() {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("C:\\1.png");
fos = new FileOutputStream("C:\\copy1.jpg");
byte[] buf = new byte[1024];
int len = 0;
while ((len = fis.read(buf)) != -1) {
fos.write(buf, 0, len);
}
} catch (IOException e) {
throw new RuntimeException("拷贝图片失败:" + e.toString());
} finally {
try {
if (fis != null) {
fis.close();
}
} catch (Exception e) {
throw new RuntimeException("关闭字节读取流失败" + e.toString());
}
try {
if (fos != null) {
fos.close();
}
} catch (Exception e) {
throw new RuntimeException("关闭字节写入流失败" + e.toString());
}
}
}
}
FileOutputStream,FileInputStream简单操作
最新推荐文章于 2022-03-16 16:57:02 发布