用字节流拷贝时,定义一个 1024 长度的字节数组作为缓冲区,使用字符流拷贝。 86---87. 自定义一个图书馆借书的异常类 NoBookException(继承 Exception,类中有一个接收 String 类型参数的构造方法,使用 super 关键字调用父类的构造方法。)和 Borrower 类,在 Borrower 的 borrow()方法中使用自定义异常,要求入下: 1) Borrower 类中定义一个 borrow(int index)方法,方法接收一个 int 类型的参数,表示借书的索引, 当 index>25 时,borrow()方法用 throw 关键字抛出 NoBookException 异常,创建异常对象时,调用有 参的构造方法,传入“无此书”。 2)在测试类中创建Borrower 对象,并调用borrow()方法测试 NoBookException异常,使用 try…catch 语句捕获异常,调用 NoBookException 类的 getMessage()方法打印出异常信
时间: 2024-03-25 22:40:58 浏览: 46
息。我来一一解答你的问题。
关于字节流拷贝和字符流拷贝,字节流拷贝是以字节为单位进行拷贝的,而字符流拷贝是以字符为单位进行拷贝的。在使用字符流拷贝时,需要注意编码的问题,因为在不同的编码下,一个字符可能会占用不同的字节数。使用缓冲区可以提高拷贝的效率,因为每次拷贝都需要进行 I/O 操作,而使用缓冲区可以减少 I/O 操作的次数。
关于自定义异常类 NoBookException,可以按照以下方式实现:
```
public class NoBookException extends Exception {
public NoBookException(String message) {
super(message);
}
}
```
这里的 NoBookException 继承自 Exception,有一个接收 String 类型参数的构造方法,使用 super 关键字调用父类的构造方法。
关于 Borrower 类,可以按照以下方式实现:
```
public class Borrower {
public void borrow(int index) throws NoBookException {
if (index > 25) {
throw new NoBookException("无此书");
}
// 借书的逻辑
}
}
```
这里的 borrow() 方法接收一个 int 类型的参数 index,当 index > 25 时,用 throw 关键字抛出 NoBookException 异常,创建异常对象时,调用有参的构造方法,传入“无此书”。
关于测试类,可以按照以下方式实现:
```
public class Test {
public static void main(String[] args) {
Borrower borrower = new Borrower();
try {
borrower.borrow(26);
} catch (NoBookException e) {
System.out.println(e.getMessage());
}
}
}
```
这里的测试类创建了一个 Borrower 对象,并调用了 borrow() 方法测试 NoBookException 异常,使用 try…catch 语句捕获异常,调用 NoBookException 类的 getMessage() 方法打印出异常信息。
阅读全文