-3

Netbeansで大規模なプログラムをリファクタリングしようとしていますが、少し迷っています。私はこれまであまりモジュール化されていませんでしたが、実際にこれを行う方法を学ぶことによって、現在、そして将来のためにそれを修正しようとしています。残念ながら、チュートリアルの一部をプログラムの獣に翻訳するのに問題があります。だから私はここの誰かが助けてくれることを望んでいました。現在、特定の形式のファイルを取得してテーブルを作成するコードのチャンクを分割しようとしています。クラスを作成し、それを使用してテーブルオブジェクトを作成する必要があることはわかっていますが、その方法がわかりません。ファイルが配置されている場所のコマンドライン入力を取得するメインがあります。

public class Print {
  public static void main(String[] args) throws Exception {
            // I know this part works
     JSAP jsap = new JSAP();
     FlaggedOption opt3 = new FlaggedOption("cllmap")
            .setRequired(true)
            .setShortFlag('c')
            .setLongFlag("call map");
     opt3.setHelp("Where is the flu, map file? Full path");
     jsap.registerParameter(opt3);
     String cllmp = config.getString("map");

正しく行う方法がまだわからないため、作成した新しいクラスを参照しようとはしていません。次に、ファイルの場所を別のクラスに送信して、他のクラスがファイルを読み取り、それをテーブルオブジェクトに解析できるようにします。

public class Reader extends Print {
 String inpt;

public class FReader {
    //reading in
 //throws exception error
    FileInputStream fstream = new FileInputStream(cllmp);
    DataInputStream in = new DataInputStream(fstream);
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    while ((inpt  = br.readLine()) != null) {
        if (!inpt.equals("Calls")) {
          ...

では、なぜ私のクラスFReaderが例外をスローするのでしょうか。また、それを停止させる方法を教えてください。public class FReader throws Exception{エラーが発生するため、言うことはできません。の'{' expected後に置くのと同じextends Fingerprint2です。私はここで何が間違っているのですか?助言がありますか?

4

1 に答える 1

2

コードは、クラス本体に直接配置するのではなく、メソッドに配置する必要があります。このクラスは呼び出されるReaderので、おそらくread()メソッドが必要です。このメソッドは読み取りを行い、それができない場合はIOExceptionをスローする必要があります。

public class Reader extends FingerPrint2 {
    public String read() throws IOException {
        // PUT YOUR CODE HERE
    }
}
于 2012-12-19T20:57:40.443 に答える