import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
String fileName = "C:/temp/newTemp.txt";
readFileByLines(fileName);
System.out.println("123");
}
public static void readFileByLines(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
System.out.println("line " + line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
System.out.println("以行为单位读取文件内容,一次读一整行:");
}
}
运行结果:
以行为单位读取文件内容,一次读一整行:
java.io.FileNotFoundException: C:\temp\newTemp.txt (系统找不到指定的路径。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at com.zte.telnet.test.test.readFileByLines(test.java:26)
at com.zte.telnet.test.test.main(test.java:15)
以行为单位读取文件内容,一次读一整行:
123
结论:
如果所提供的函数已经写好了异常捕获的代码,那么调用此函数时如果发生异常,函数内部就会自行处理,调用者的代码还会继续执行。最后会输出123,也就是说异常如果捕获处理并且没有被抛出,try后边的代码不能执行了,但是后边不在try块里的代码依然可以执行。
异常块执行顺序:
<span style="color:#000000;">try{
1;
2;
catch(Exception e){
3;
}finally{
4;
}
6
7</span>
如果1发生异常了,2不会执行,3会执行,4会执行。如果3不是returen语句,那么 6,7 会执行。3是不是reture语句4都会执行。
我们写程序时如果tyr到的异常会影响到后续代码6,7的执行时,我们就在catch中加入return语句;如果异常不会影响程序接着执行,那么久不加。
自定义异常参数传递问题: 抛出异常 捕获异常 根据自己需要的信息输出异常信息
<pre class="java" name="code">public class Numbertest
{
public int shang(int x,int y) throws ChushulingException
{
if(y==0)
{
<span style="color:#ff0000;">throw new ChushulingException("您输入的是"+y+",除数不能为0!");
</span> }
int m=x/y;
return m;
}
public static void main(String[]args)
{
Numbertest n=new Numbertest();
//捕获异常
try
{
System.out.println("商="+n.shang(1,0));
}
catch(ChushulingException yc)
{
<span style="color:#ff0000;"> System.out.println(new ChushulingException("123").getMessage());
</span> }
catch(Exception y)
{
System.out.println(y.getMessage());
y.printStackTrace();
}
finally{ System.out.println("finally!");} finally不管发没发生异常都会被执行
}
}
class ChushulingException extends Exception
{
public ChushulingException(String msg)
{
<span style="color:#ff0000;">super(msg);
</span> }
}
结果:
123
finally!
想要输出自己想要的信息时用这种方式。