IO异常处理
【摘要】 IO异常处理可以根据自己的需要选择将数据输入到文件中还是将信息输出到控制台。 抛出异常package io_demo;import java.io.*;public class IODemo_10 { public static void main(String args[]) throws IOException { FileOutputStream fo...
IO异常处理
可以根据自己的需要选择将数据输入到文件中还是将信息输出到控制台。
抛出异常
package io_demo;
import java.io.*;
public class IODemo_10 {
public static void main(String args[]) throws IOException {
FileOutputStream fos = new FileOutputStream("E:\\java_doc\\src\\io_demo\\demo_pratice");
OutputStreamWriter osw = new OutputStreamWriter(fos);
InputStreamReader isr = new InputStreamReader(new FileInputStream("E:\\java_doc\\src\\io_demo\\demo_pratice"));
//
osw.write("中国");
osw.close();
int ch ;
while((ch=isr.read())!=-1)
{
System.out.println((char)ch);
}
isr.close();
}
}
标准捕获
package io_demo;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IoDemoException {
public static void main(String args[])
{
FileReader fr=null;
FileWriter fw=null;
try {
fr= new FileReader("E:\\java_doc\\src\\io_demo\\jgdabc.txt");
fw= new FileWriter("E:\\java_doc\\src\\io_demo\\demo_pratice");
char[] chs = new char[1024];
int len;
while((len = fr.read())!=-1)
{
fw.write(chs,0,len);
}
}catch (IOException e)
{
e.printStackTrace();
}finally {
if(fw!=null)
try {
fw.close();
}catch (IOException e)
{
e.printStackTrace();
}
if(fr!=null){
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
但是这样的处理还是比较麻烦的
捕获处理改进版(jdk7特性)
package io_demo;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
//jdk7的改进
public class IoDemoException01 {
public static void main(String args[])
{
try ( FileReader fr = new FileReader("E:\\java_doc\\src\\io_demo\\jgdabc.txt");
FileWriter fw = new FileWriter("E:\\java_doc\\src\\io_demo\\Student.txt");) {
char[] chars = new char[1024];
int len;
while ((len = fr.read()) != -1) {
fw.write(chars, 0, len);
}
}catch (IOException e)
{
e.printStackTrace();
}
}
;
}
//自动释放资源
这样的处理还是会自动释放资源,不需要人为关闭。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)