none
.NETstandardでファイルが存在するかどうか RRS feed

  • 質問

  • .NETstandardで、System.IO.streamを変数とするファンクションがあります

    private void hogehoge(System.IO.stream HSobj)

    {

    //ほげほげほげ

    //ほげほげ

    }

    このファンクションの中で「HSobjが示すファイルが存在するかどうか」を判別する方法をご教示願います。

    2018年10月28日 6:01

回答

  • Stream になっている時点でファイルは存在すると考えられます。

    基本的に Stream オブジェクトを作るためには「存在するファイルを開く」か、「ファイルを作って開くか」です。
    よって、ファイルが元となった Stream が引数に来ている時点で「ファイルは元から存在したか、新たに作られたかのいずれかによって、存在している」ので、「存在しない」という状況がありません。

    ファイルが存在しない場合の考慮をするなら、この関数よりも前の段階で何らかの判断をする必要があります。

    • 回答としてマーク ナノレス 2018年11月1日 10:29
    2018年10月28日 6:58
    モデレータ

すべての返信

  • Stream になっている時点でファイルは存在すると考えられます。

    基本的に Stream オブジェクトを作るためには「存在するファイルを開く」か、「ファイルを作って開くか」です。
    よって、ファイルが元となった Stream が引数に来ている時点で「ファイルは元から存在したか、新たに作られたかのいずれかによって、存在している」ので、「存在しない」という状況がありません。

    ファイルが存在しない場合の考慮をするなら、この関数よりも前の段階で何らかの判断をする必要があります。

    • 回答としてマーク ナノレス 2018年11月1日 10:29
    2018年10月28日 6:58
    モデレータ
  • あるいはひょっとして、そのHSobjが実はMemoryStreamだったら、みたいな話をしてますか?

    jzkey

    2018年10月28日 16:56