在Java中使用用户I / O中的异常

时间:2014-03-22 21:14:00

标签: java exception io

我正在尝试执行以下操作:我正在使用Java创建一个程序,它允许我创建和读取文本文件。到目前为止,我已经能够做到这一点,但硬(?)部分是这样的:除了A,B或C之外的任何东西都在文本文件中时,我必须能够得到错误。

到目前为止,我得到了:

package textfile;

import java.io.*;
import static java.lang.System.*;

class OutWrite {

public static void main(String[] args) {
    try{
        FileWriter fw = new FileWriter("FAS.txt");
        PrintWriter pw = new PrintWriter(fw);

        pw.println("A");
        pw.println("B");
        pw.println("C");

        pw.close();
    } catch (IOException e){
        out.println("ERROR!");
    }
  }   
}

package textfile;

import java.io.*;
import static java.lang.System.*;

class InRead {

public static void main(String[] args) {
    try {
        FileReader fr = new FileReader("FSA.txt");
        BufferedReader br = new BufferedReader(fr);

        String str;
        while ((str = br.readLine()) != null){
            out.println(str);
        }

        br.close();
    } catch (IOException e) {
        out.println("File not found");
    }
  }    
}

有人能引导我朝着正确的方向前进吗?

1 个答案:

答案 0 :(得分:2)

在找到除A,B,C以外的新角色时抛出异常。

使用,

class InRead {

    public static void main(String[] args) {
        try {
            FileReader fr = new FileReader("FSA.txt");
            BufferedReader br = new BufferedReader(fr);

            String str;
            while ((str = br.readLine()) != null) {
                if (str.equals("A") || str.equals("B") || str.equals("c")) //compare
                    out.println(str);
                else
                    throw new Exception(); //throw exception
            }

            br.close();
        } catch (IOException e) {
            out.println("File not found");
        }

        catch (Exception e) {//catch it here and print the req message
            System.out.println("New Character Found");
        }
    }
}