JavaSE-17.3.6【案例-字节流复制文本文件、字节流复制图片】

复制代码
 1 package day8.lesson3;
 2 
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.FileOutputStream;
 6 import java.io.IOException;
 7 
 8 /*
 9 3.7 案例-字节流复制文本文件
10 
11     复制文本文件,其实就把文本文件的内容从一个文件中读取出来(数据源),然后写入到另一个文件中(目的地)
12     数据源: "fos2.txt"  --- 读数据 --- InputStream --- FileInputStream
13     目的地: "copy\copy_fos2.txt"  --- 写数据 --- OutputStream --- FileOutputStream
14 
15  */
16 public class CopyTxtDemo {
17     public static void main(String[] args) throws IOException {
18         File file = new File("stage2\\src\\day8\\lesson3\\copy");
19         System.out.println(file.mkdir());
20         File file1 = new File("stage2\\src\\day8\\lesson3\\copy\\copy_fos2.txt");
21         System.out.println(file1.createNewFile());
22 
23         FileInputStream fis = new FileInputStream("stage2\\src\\day8\\lesson3\\fos2.txt");
24         FileOutputStream fos = new FileOutputStream("stage2\\src\\day8\\lesson3\\copy\\copy_fos2.txt");
25 
26         int by;
27         while ((by=fis.read()) != -1){
28 //            System.out.print((char)by);
29             fos.write(by);
30         }
31 
32         fos.close();
33         fis.close();
34     }
35 }
复制代码
复制代码
 1 package day8.lesson3;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileOutputStream;
 5 import java.io.IOException;
 6 
 7 /*
 8 3.9 案例-字节流复制图片
 9 
10     根据数据源创建字节输入流对象
11     根据目的地创建字节输出流对象
12     读写数据,复制图片(一次读取一个字节数组,一次写入一个字节数组)
13     释放资源
14  */
15 public class CopyJpgDemo {
16     public static void main(String[] args) throws IOException {
17         FileInputStream fis = new FileInputStream("stage2\\src\\day8\\lesson3\\4.jpg");
18         FileOutputStream fos = new FileOutputStream("stage2\\src\\day8\\lesson3\\copy\\4.jpg");
19 
20         byte[] bytes = new byte[1024];
21         int len;
22         while ((len=fis.read(bytes)) != -1){
23             fos.write(bytes, 0, len);
24         }
25 
26         fos.close();
27         fis.close();
28     }
29 }
复制代码

 

posted @   yub4by  阅读(66)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示