標準Cライブラリの、FILE型(ライブラリが管理するデータ構造)へのポインタ(FILE *)があらわすものをストリームと言い[注釈 1]、POSIXではファイル記述子とストリームを包括する用語として「ハンドル」を使っている(参考: "Interaction of File Descriptors and Standard I/O Streams"[要文献特定詳細情報])[注釈 2]。『プログラミング言語C』第2版ではFILE *を「ファイル・ポインタ」と呼んでいる。原著『The C Programming Language』では「file pointer」と呼んでいる。FILE型の実装は規格で規定されておらず、オブジェクト型(object type)[注釈 3]であることのみが規定されているが、通例構造体であり、UNIX系システムでは一般に低レベルのファイル記述子を含んでいる。これらはプラットフォームではなくプログラミング言語によって標準化された上位層のコンセプトであるため、ファイル記述子と同一視はできない。
Microsoft Windowsカーネルでは、ファイル記述子と同様であるが、より汎用的な機構によりファイルオブジェクトを含むさまざまなカーネルオブジェクトを「ハンドル」という抽象的な識別子に関連づける枠組みが採用されている。特にファイルを表すカーネルオブジェクトに関連づけられたハンドルを「ファイルハンドル」と呼ぶが、これはPOSIXにおけるファイル記述子とほぼ同等の役割を担うものと解釈することができる。このファイルハンドルは、前述の(ファイル)ハンドル[どれ?]とは異なるものを指すが、同一の語のため、混乱を生じることがある。MS-DOSではファイル記述子ほぼそのものを指して「ファイルハンドル」と呼んでいた。