0

これを目的とするメソッドが必要です:

fileDescriptor openFile (filename): 特定の名前のファイルを開き (既に存在する場合は内容を消去します)、最初の行として「プロセスの開始」を配置します); ファイル記述子を返す

public FileDescriptor openFile(String fileName){
}

誰でもこれを手伝ってくれますか?

4

1 に答える 1

8

これを行う方法は次のとおりです。

private FileDescriptor openFile(String path)
        throws FileNotFoundException, IOException {
    File file = new File(path);
    FileOutputStream fos = new FileOutputStream(file);
    // remember th 'fos' reference somewhere for later closing it
    fos.write((new Date() + " Beginning of process...").getBytes());
    return fos.getFD();
}

ただし、FileOutputStreamインスタンス(FileDescriptorも取得できます)を返すことをお勧めします。これにより、ファイルにコンテンツを追加して適切に閉じることができるためです。

メソッドシグネチャで例外が許可されていない場合は、RuntimeExceptionをtry-catchしてスローするか、try-catch例外をスローしてnullを返します(この場合、nullが返される意味を説明するjavadocを追加します)

于 2012-08-09T10:30:20.687 に答える