易截截图软件、单文件、免安装、纯绿色、仅160KB

Java的异常小结

 主要是举个例子说明一下什么用throws,什么时候用try-catch。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileFilter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
File dir = new File(".");
FileFilter dirFilter = new FileFilter() {
public boolean accept(File pathname) {
return pathname.isFile();
}
};
for (File file: dir.listFiles(dirFilter)) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
print(reader);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
private static void print(BufferedReader reader) throws IOException {
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
}

这是用来输出当前目录下的所有文件的一个小程序。
print函数使用throws是因为在这个函数中如果发生了异常,那么这么函数就无法再执行下去了。
而在main函数的循环中,因为在处理一个文件时发生了异常(可能的原因有很多啊,比如突然被人删除了),我们仍然可以跳过这个文件继续执行,因此使用了try-catch。
总结一下,当在函数中自己可以处理异常时,那么就使用try-catch。如果无法处理,那么就用throws,让外层的函数去处理。


相关文档:

java核心教程笔记

1.接口与抽象类区别
      abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
  在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员 ......

Java读取图片文件的宽度和高度

InputStream is = new FileInputStream(filename);//通过文件名称读取

InputStream is =new ByteArrayInputStream(byte[] a);//通过文件的字节数组读取
BufferedImage buff = ImageIO.read(is);
buff.getWidth(); //得到图片的宽度
buff.getHeight();  //得到图片的高度
is.close(); //关闭Stream ......

Java面试题:String类的concat方法


编译并运行下面的程序,其结果是什么?
  public class MyClass {
  public static void main(String[] args) {
  String str1 = "str1";
  String str2 = "str2";
  String str3 = "str3";
  str1.concat(str2);
  System.out.println(str3.concat(str1));
  }
  }
  请选择正确的答案。 ......

Java中替换双引号

 
//Java中把"替换为\" message="\"book\"";
System.out.println(message);
需要五个
message=message.replaceAll("\"","\\\\\"");
System.out.println(message); ......

java学习清单

 1、java基础:
JAVA 开发基础知识 | Eclipse 开发环境 | J2SE 5.0 API | J2SE 6.0新特性 | 多线程技术 | Socket 网络技术 | Regular Expression | Java反射技术 | Properties技术 | 各种实战设计模式Factory系列、Singleton、Strategy、Observer等 | Java Debug技术 | 面向对象设计原则详解 | 实例解决面向对象设计 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号