楼主你好 在复制图片的时候不要用转换流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("写入关闭失败");
- }
- }
- }
- }
复制代码 |