- /*
- 复制一个图片:
- 思路:
- 1、用字节流读取对象和图片进行关联
- 2、用字节写入流创建一个文件图片,用于存储获取到的图片数据。
- 3、通过循环读取,完成数据的存储。
- 4、关闭资源
- */
- 1、二者操作的基本单位是字节byte。
2、常用于读写图片、声音、影像文件。
基本操作步骤:
1、创建流对象
2、调用流对象的功能read、write等
3、关闭流对象 -
方法一:
此时图片2和图片1的属性完全一样。import java.io.*; class CopyMp3 { public static void main(String[] args) { CopyPic(); } public static void CopyPic() { FileInputStream fileInput = null; FileOutputStream fileOutput = null; try { fileInput = new FileInputStream("C:\\1.jpg"); fileOutput = new FileOutputStream("C:\\2.Jpg"); byte [] bt = new byte[1024]; int len = 0; while((len = fileInput.read()) != -1) { fileOutput.write(len); } } catch (IOException ex) { ex.printStackTrace(); } finally { try { if(fileInput != null) { fileInput.close(); } if(fileOutput != null) { fileOutput.close(); } } catch (IOException ex) { ex.printStackTrace(); } } } }
方法二:速度比较快,但是图片多了1KB,可能就是由于数组的使用。 -
import java.io.*; class CopyMp3 { public static void main(String[] args) { CopyPic(); } public static void CopyPic() { FileInputStream fileInput = null; FileOutputStream fileOutput = null; try { fileInput = new FileInputStream("C:\\1.jpg"); fileOutput = new FileOutputStream("C:\\2.Jpg"); byte [] bt = new byte[1024]; int len = 0; while((len = fileInput.read(bt)) != -1) { fileOutput.write(bt); } } catch (IOException ex) { ex.printStackTrace(); } finally { try { if(fileInput != null) { fileInput.close(); } if(fileOutput != null) { fileOutput.close(); } } catch (IOException ex) { ex.printStackTrace(); } } } }
FileInputStream、FileOutputStream的应用
最新推荐文章于 2024-04-23 15:31:27 发布