JavaSE-19.1.4复制文件的异常处理
Posted yub4by
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE-19.1.4复制文件的异常处理相关的知识,希望对你有一定的参考价值。
1 package day10.lesson1.p4; 2 3 import java.io.*; 4 5 /* 6 1.4 复制文件的异常处理 7 */ 8 public class CopyFileDemo { 9 public static void main(String[] args) { 10 11 } 12 13 14 //抛出处理 15 private static void method1() throws IOException { 16 FileReader fr = new FileReader("fr.txt"); 17 FileWriter fw = new FileWriter("fw.txt"); 18 19 char[] chars = new char[1024]; 20 int len; 21 while ((len=fr.read(chars)) != -1){ 22 fw.write(chars, 0, len); 23 } 24 25 fw.close(); 26 fr.close(); 27 } 28 29 30 //try-catch-finally处理 31 private static void method2() { 32 FileReader fr = null; 33 FileWriter fw = null; 34 try { 35 fr = new FileReader("fr.txt"); 36 fw = new FileWriter("fw.txt"); 37 38 char[] chars = new char[1024]; 39 int len; 40 while ((len=fr.read(chars)) != -1){ 41 fw.write(chars, 0, len); 42 } 43 }catch (IOException e){ 44 e.printStackTrace(); 45 }finally { 46 if(fw != null){ 47 try { 48 fw.close(); 49 } catch (IOException e) { 50 e.printStackTrace(); 51 } 52 } 53 if(fr != null){ 54 try { 55 fr.close(); 56 } catch (IOException e) { 57 e.printStackTrace(); 58 } 59 } 60 } 61 //这是标准流程 62 } 63 64 65 //JDK7改进处理方案 66 private static void method3() { 67 try(FileReader fr = new FileReader("fr.txt"); 68 FileWriter fw = new FileWriter("fw.txt") 69 ){ 70 char[] chars = new char[1024]; 71 int len; 72 while ((len=fr.read(chars)) != -1){ 73 fw.write(chars, 0, len); 74 } 75 }catch (IOException e){ 76 e.printStackTrace(); 77 } 78 //JDK7:try(){}catch(){}会自动释放资源 79 //相比于JDK9处理方案,这种好一点,值得推荐 80 } 81 82 83 //JDK9改进处理方案 84 /*private static void method4() throws IOException{ //对于下两行需要抛出异常 85 FileReader fr = new FileReader("fr.txt"); 86 FileWriter fw = new FileWriter("fw.txt"); 87 88 try(fr;fw){ 89 char[] chars = new char[1024]; 90 int len; 91 while ((len=fr.read(chars)) != -1){ 92 fw.write(chars, 0, len); 93 } 94 }catch (IOException e){ 95 e.printStackTrace(); 96 } 97 //JDK9:try(){}catch(){}会自动释放资源 98 //本地环境JKD8,编译时IDEA报错 99 }*/ 100 101 102 }
以上是关于JavaSE-19.1.4复制文件的异常处理的主要内容,如果未能解决你的问题,请参考以下文章
System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。(代码片
[Java基础]复制文件的异常处理try...catch...finally的做法
Google PlayAPK 扩展包 ( 2021年09月02日最新处理方案 | 内部测试链接 | 安装 Google Play 中带 扩展文件 的 APK 安装包 | 验证下载的扩展文件 )(代码片