1

このコードで理解できないエラーが発生します。Java のドキュメントに従ってすべてをセットアップしましたが、明らかに何かを理解していません。まず、コードは次のとおりです。

import java.io.FileNotFoundException;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;

public class CreateTextFile {

    private Formatter output; //object used to output text to file

    public void openFile() throws FileNotFoundException {
        try {
            output = new Formatter( "sets.txt" ) {    //First Error

                @Override
                public String format(LogRecord record) {
                    throw new UnsupportedOperationException("Not supported yet.");
                }


            }; //open the file
        } catch ( SecurityException securityException ) {
            System.err.println("You do not have access to this file.");
            System.exit(1); //terminate the program
        } catch (FileNotFoundException fileNotFoundException) {  //second error

        }
    }
}

最初のエラー:

クラス Formatter のコンストラクタ Formatter は、特定の型に適用できません。必須: 引数が見つかりません: 文字列 理由: 実引数リストと仮引数リストの長さが異なります

エラー メッセージは理解できますが、同意できません。単一の文字列を取る Formatter のコンストラクターが確実に存在します (以下を参照)。

2 番目のエラー:

クラス Formatter のコンストラクタ Formatter は、特定の型に適用できません。必須: 引数が見つかりません: 文字列 理由: 実引数リストと仮引数リストの長さが異なります

以下の Java ドキュメントで説明されているように、メソッド宣言で FileNotFoundException をスローしています。

これは [http://doc.java.sun.com/DocWeb/api/java.util.Formatter][1] から直接引用したものです。

Formatter(String fileName) throws FileNotFoundException 指定されたファイル名で新しいフォーマッタを構築します。

使用される文字セットは、Java 仮想マシンのこのインスタンスのデフォルトの文字セットです。

使用されるロケールは、Java 仮想マシンのこのインスタンスのデフォルト ロケールです。

fileName このフォーマッタの宛先として使用するファイルの名前。ファイルが存在する場合は、サイズがゼロに切り捨てられます。そうでない場合、新しいファイルが作成されます。出力はファイルに書き込まれ、バッファリングされます。

SecurityException をスローします: セキュリティ マネージャが存在し、checkWrite(fileName) がファイルへの書き込みアクセスを拒否した場合

FileNotFoundException をスローします: 指定されたファイル名が書き込み可能な既存の通常ファイルを示さず、その名前の新しい通常ファイルを作成できない場合、またはファイルのオープンまたは作成中に他のエラーが発生した場合

これらのエラーをクリアする方法がわかりません。誰でも助けることができますか?ありがとう!

4

2 に答える 2

2

あなたのコードで:

import java.util.logging.Formatter;

引用しているJavadocのURLで:

java.util.Formatter

それは同じクラスではありません。

于 2013-02-16T20:47:08.363 に答える
2

java.util.Formatter のドキュメントを参照していますが、java.util.logging をインポートしています。

于 2013-02-16T20:47:22.277 に答える