首页 > 代码库 > JAVA中IO和异常处理练习
JAVA中IO和异常处理练习
1、SystemI\O练习:
1)通过键盘输入若干字符,并通过显示器输出;
2)定义一个静态方法validOrNot()用于对输入的字符进行合法性校验,若包含非英文字符,则抛出IllegalStringException异常;
3)通过Try/Catch异常处理机制,处理异常:若包含非英文字符,给予相应提示;若只包含英文字符,则统计字符数量,并输出。
1 package iooutput; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 7 public class IOtest { 8 //因为validOrNot是静态方法 所以异常类也应该是静态的 否则在方法中无法抛出该异常 9 public static class IllegalCharException extends Exception{10 11 public IllegalCharException(String str){12 System.out.println(str);13 }14 }15 //throws/throw的区别 :方法外抛异常用s (很多异常)内务s表特定异常16 public static void validOrNot(String str) throws Exception{17 int count=0;18 for(int i=0;i<str.length();i++)19 {20 char t=str.charAt(i); //类比于c++中字符串下标21 if(t>=‘a‘&&t<=‘z‘||t>=‘A‘&&t<=‘Z‘)22 { 23 count++;24 continue;25 }26 else throw new IllegalCharException("不是字母!"); //注意new 实例化异常类的对象27 }28 System.out.println(count);29 }30 31 public static void main(String[] args){32 BufferedReader br;33 String str=null;34 System.out.println("please enter string");35 br=new BufferedReader(new InputStreamReader (System.in));//键盘输入36 try {37 while(!(str=br.readLine()).equals("end"))//一行一行读取 38 { 39 IOtest.validOrNot(str);40 }41 42 } catch (IOException e) { //IO异常 一定要抛 注意43 e.printStackTrace();44 } catch (Exception e) {45 46 }47 }48 }
2、文件读写练习
1)从文本文件(text1.txt)中读取数据,将数据复制到另一文本文件(text2.txt) 中;
2)源文件text1.txt中可能包含中文字符、英文字符以及数字符号等多种字符,请选择适合的流完成文件读写操作;
3)在进行文件复制时,去掉源文件(text1.txt)中的非英文字符。
1 package iooutput; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 8 public class filetest { 9 10 public static void main(String[] args){11 try {12 //文件路径必须为/不能为\13 FileInputStream rf=new FileInputStream("F:/Users/verlen11/workspace/iooutput/bin/text1.txt");14 FileOutputStream wf=new FileOutputStream("text2.txt");15 int l=-1;16 byte b[]=new byte[512];17 while((l=rf.read(b,0,512))!=-1) //此处抛IO异常 //一次性读取512个字符,l表示实际读取的字符数,为-1时表示读取完毕18 wf.write(b,0,l);19 rf.close();20 wf.close();//记得close21 22 } catch (IOException e) { //必须抛异常 IO异常包括FileNotFoundException(fileinputstream时必须抛的异常23 e.printStackTrace();24 }25 26 }27 }28 29 //弄清字节流和字符流的区别
JAVA中IO和异常处理练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。