Java课程考试复习--异常,I/O,网络

本文深入探讨了Java中的异常处理机制,包括try-catch-finally结构、异常声明与抛出,以及不同类型的异常如Error、RuntimeException和Exception的特性与区别。此外,还介绍了Java中的字节流和字符流操作,提供了具体的示例代码,如文件复制和对象序列化等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.@捕获异常(try-catch-finally)

   @声明异常(throws)

   @抛出异常(throw)

 

2.所有的例外都直接或间接地继承自Throwable类

        @Error :由Java虚拟机生成并抛出,Java程序不做处理

        @Runtime Exception :Java虚拟机在运行时生成的例外,如被0除等系统错误、数组下标超范围等,用户可不做处理

        @Exception :一般程序中可预知的问题,Java程序必须捕获或声明所有的非运行时异常

 

3.一个示例:

public static void main(String[] args) {
   try {
      testThrowable();
   }
   catch (Throwable t) {
      t.printStackTrace(System.err);
   }
}
…
static void testThrowable() throws Throwable{
   throw new Throwable();
}

 

4.@catch(Exception e)  捕获所有Exception
  @catch(Throwable t)  捕获Exception和Error

 

5.finally代码段中应该把可能产生例外的语句用try-catch保护起来

 

6.字节流 示例:把输入流中的所有内容复制到输出流中

public void copy(InputStream in, OutputStream out) throws IOException{
    byte[] buf = new byte[4096];
    int len = in.read(buf); //读多个字节到数组中
    while (len != -1) { //返回-1,表明流结束
        out.write(buf, 0, len); //将数组buf中从0位置开始,长度为len的数据输出到流中
        len = in.read(buf);
    }
}

 

7.要使用过滤流,首先必须把它连接到某个输入/输出流上

  @BufferedInputStream bin = new BufferedInputStream (new FileInputStream (“file1.txt”),256);

  @DataInputStream dis = new DataInputStream (new FileInputStream ("file1.txt"));

 

8.对象流的例子:

public class Objectser{
   public static void main(String args[]){
      Student stu=new Student(981036, “Li Ming”, 16, “CSD”);
      try{
         FileOutputStream fo = new FileOutputStream(“data.ser”);
         ObjectOutputStream so = new ObjectOutputStream(fo);
         so.writeObject(stu);
         so.close();
      }
      catch(Exception e){
         System.out.println(e) ;
      }
   }
}

 

9.字符流例子:InputStreamReader ir = new InputStreamReader ( new InputStream ( ), “8859_1”);

 

10.网络基本概念:@TCP/IP网络参考模型包括五个层次:应用层、传输层、网络层、链路层、物理层

                         @OSI网络参考模型包括七个层次:应用层、表示层 会话层 、传输层、网络层、链路层、物理层

 

11.TCP~打电话;UDP~发电报

 

12.Java.net 包中的主要类:

       面向IP层的类:InetAddress (Inet4Address,Inet6Address)

                如:InetAddress pku = InetAddress.getByName(“www.pku.edu.cn”);
       面向应用层的类:URL、URLConnection
       面向网络层的类:
             TCP协议相关类:Socket、ServerSocket
             UDP协议相关类:DatagramPacket、DatagramSocket、MulticastSocket

 

13.复习作业:简单聊天系统和二叉树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值