当前位置:   article > 正文

头歌:Java高级特性 - IO流 (答案+详细注释)第1关:什么是IO流+第2关:字节流-输入输出+第3关:字符流 - 输入输出+第4关:复制文件_java高级特性 - io流第1关:复制文件

java高级特性 - io流第1关:复制文件

目录

第1关:什么是IO流

第2关:字节流-输入输出

第3关:字符流 - 输入输出

第4关:复制文件


第1关:什么是IO流

第2关:字节流-输入输出

  1. package step2;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileOutputStream;
  6. import java.io.FileReader;
  7. import java.io.FileWriter;
  8. import java.io.IOException;
  9. //自己加!!!
  10. import java.io.InputStream;
  11. import java.io.OutputStream;
  12. public class Task {
  13. public void task() throws IOException{
  14. /********* Begin *********/
  15. File file1 = new File("src/step2/input/task.txt");//新建src/step2/input/目录下的task.txt文件
  16. InputStream fs = new FileInputStream(file1);//新建输入流
  17. byte[] b1 = new byte[1024];
  18. fs.read(b1);//读取输入流中的内容到字节数组中
  19. String str1 = new String(b1,"utf-8");//将字节数组转换为字符串
  20. System.out.print(str1);//打印字符串
  21. fs.close();//关闭输入流
  22. File file = new File("src/step2/output");//新建输出目录
  23. if(!file.exists()){
  24. file.mkdir();//如果目录不存在,则创建目录
  25. }
  26. String file2 = "src/step2/output/output.txt";//新建src/step2/output/目录下的output.txt文件
  27. OutputStream out = new FileOutputStream(file2);//新建输出流
  28. String str2 = "learning practice";//要写入文件的字符串
  29. byte[] b2 = str2.getBytes();//字符转换为字节数组
  30. out.write(b2);//将字节数组写入输出流
  31. out.flush();//清空输出流
  32. out.close();//关闭输出流
  33. /********* End *********/
  34. }
  35. }

第3关:字符流 - 输入输出

  1. package step3;
  2. import java.io.FileNotFoundException;
  3. import java.io.FileReader;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. public class Task {
  7. public void task() throws IOException{
  8. /********* Begin *********/
  9. String file1 = "src/step3/input/input.txt";//创建文件
  10. FileReader fr = new FileReader(file1); //实例化
  11. char[] ch = new char[8]; //创建数组
  12. fr.read(ch);//将文件中数据从前到后读入到数组中
  13. String file2="src/step3/output/output.txt";//创建文件
  14. FileWriter fw = new FileWriter(file2);//实例化
  15. fw.write(ch); // 从后到前读入数组中的数据到文件中
  16. fr.close(); //关闭流
  17. fw.flush(); //刷新流
  18. fw.close(); //关闭流
  19. /********* End *********/
  20. }
  21. }

第4关:复制文件

  1. package step4;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileOutputStream;
  5. import java.io.FileReader;
  6. import java.io.FileWriter;
  7. import java.io.IOException;
  8. public class Task {
  9. public void task() throws IOException{
  10. /********* Begin *********/
  11. //创建FileReader对象,读取文本文件
  12. FileReader fr = new FileReader("src/step4/input/input.txt");
  13. //定义一个字符数组,用于存储读取到的字符
  14. int len = 0;
  15. char[] cbuf = new char[1024];
  16. //创建FileWriter对象,写入文本文件
  17. FileWriter fw = new FileWriter("src/step4/output/output.txt");
  18. //循环读取文件内容,并写入输出流
  19. while((len = fr.read(cbuf)) != -1){
  20. fw.write(cbuf, 0, len);
  21. }
  22. //关闭输入输出流
  23. fr.close();
  24. fw.close();
  25. //创建FileInputStream对象,读取图片文件
  26. FileInputStream fs = new FileInputStream("src/step4/input/input.jpg");
  27. //创建FileOutputStream对象,写入图片文件
  28. FileOutputStream fos = new FileOutputStream("src/step4/output/output.jpg");
  29. //定义一个字节数组,用于存储读取到的字节
  30. int len1 = 0;
  31. byte[] b = new byte[1024];
  32. //循环读取文件内容,并写入输出流
  33. while((len1 = fs.read(b)) != -1){
  34. fos.write(b, 0, len1);
  35. }
  36. //关闭输入输出流
  37. fs.close();
  38. fos.close();
  39. /********* End *********/
  40. }
  41. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/697028
推荐阅读
相关标签
  

闽ICP备14008679号