0

多くの DirectoryEntry を保持する theDirectory という名前の配列があり、それぞれが名前と telno で構成されています。ここで、Directory 内の各 DirectoryEntry をテキスト ファイルに出力する必要があります。これは私が試した方法ですが、エラーが発生しています: unreported exception IOException; キャッチするか、スローすることを宣言する必要があります。

私のコード:

public void save() {
    PrintWriter pw = new PrintWriter(new FileWriter("directory.txt", true)); 

    for (DirectoryEntry x : theDirectory) {
        pw.write(x.getName());
        pw.write(x.getNumber());
        pw.close();
    }
}

この問題について何か助けていただければ幸いです。

4

2 に答える 2

0

変更したコードは次のようになります。

  public void save() {

PrintWriter pw=null;
    try{
        pw = new PrintWriter(new FileWriter("directory.txt", true)); 

        for (DirectoryEntry x : theDirectory) {
            pw.write(x.getName());
            pw.write(x.getNumber());

        }

    }
    catch(IOException e)
    {
     e.printStackTrace();
    }

finally
{
   pw.close();
}

    }

ジョン・スキートが述べたように

于 2014-04-10T19:26:14.107 に答える
0

ここでの他の回答にはいくつかの欠陥があります.Java 7以降を使用している場合、これはおそらくあなたが望むものです:

public void save() {
    try (PrintWriter pw = new PrintWriter(new FileWriter("directory.txt", true))) {         
        for (DirectoryEntry x : theDirectory) {
            pw.write(x.getName());
            pw.write(x.getNumber());                
        }
    }
    catch (IOException ex)
    {
        // handle the exception
    }   
}
于 2014-04-10T19:32:28.377 に答える