黑马程序员技术交流社区
标题:
IO流中图片复制问题
[打印本页]
作者:
李万海
时间:
2013-3-31 20:56
标题:
IO流中图片复制问题
本帖最后由 李万海 于 2013-3-31 22:29 编辑
/*
练习:运用转换流将一个图片文件中的数据拷贝到另一个文件中。
*/
import java.io.*;
class TransTest
{
public static void main(String[] args)throws IOException
{
FileInputStream fis=new FileInputStream("E:\\ 002.jpg");
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader bufr=new BufferedReader(isr);
FileOutputStream fos=new FileOutputStream("c:\\002.jpg");
OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bufw=new BufferedWriter(osw);
String len=null;
if ((len=bufr.readLine())!=null)
{
bufw.write(len);
bufw.newLine();
bufw.flush();
}
bufr.close();
bufw.close();
}
}
复制代码
拷贝的图片大小比原图片小,为什么?
作者:
lucy198921
时间:
2013-3-31 21:05
参照这个总结吧:
package com.tcptest;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestFuZ {
public static void main(String[] args) {
FileOutputStream fos = null;
FileInputStream fis = null;
try
{
复制后的图片 文件
fos = new FileOutputStream("c:\\2.txt");
//需要复制的 图片文件
fis = new FileInputStream("c:\\1.txt");
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("复制文件失败");
}
}
}
复制代码
作者:
袁梦希
时间:
2013-3-31 21:08
楼主你好 在复制图片的时候不要用转换流InputStreamReader,也没必要用缓冲功能BufferedReader 因为他们带Reader后缀的是相对于字符而言的
拷贝一个图片 需要的是字节流,因为图片不需要读字符所以没有必要用字符转换流。 字节流是以Stream为后缀的
所以代码可以这样写
class CopyPic
{
public static void main(String[] args)
{
FileOutputStream fos = null;
FileInputStream fis = null;
try
{
fos = new FileOutputStream("E:\\ 002.jpg");
fis = new FileInputStream("D:\\002.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("复制文件失败");
}
finally
{
try
{
if(fis!=null)
fis.close();
}
catch (IOException e)
{
throw new RuntimeException("读取关闭失败");
}
try
{
if(fos!=null)
fos.close();
}
catch (IOException e)
{
throw new RuntimeException("写入关闭失败");
}
}
}
}
复制代码
作者:
陈丽莉
时间:
2013-3-31 21:53
若还有问题,请继续追问; 没有的话,将帖子分类改成【已解决】~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2