File ›› Read_File

プログラム言語 FreeBasic


Read_File

構文

Read_File(FileName, [flag=FILE_ATTRIBUTE_NORMAL])

Function Read_File(ByRef FileName As String,ByVal flag As Integer=FILE_ATTRIBUTE_NORMAL) As HANDLE

説明

ファイルを読み取り専用で開きます。

参考:ReadFile 関数
http://msdn.microsoft.com/ja-jp/library/cc429679.aspx

オプション

FileName - 完全なパスとファイル名

Flag - 指定できます(下記参照)(Windowsのみ)

プラットホーム

Windows , Linux


例:

#Include "window9.bi"

Var handle=Create_File("例.txt")
If handle<>-1 Then
  Write_Byte(handle,56)
  Write_Byte(handle,47)
EndIf
Close_file(handle)
handle=Read_file("例.txt")
If handle<>-1 Then
  ? Read_Byte(handle)
EndIf
Close_file(handle)
sleep



フラグとファイルの属性。
このパラメータは、ファイルの属性を任意に組み合わせることができます。
他のすべてのファイルの属性は、FILE_ATTRIBUTE_NORMAL を上書きします。

CreateFile 関数がファイルを開くと、ファイルの属性は、ファイルの既存の属性と組み合わされて、要求された任意のファイル属性を、無視します。
以下のファイル属性とフラグは、CreateFile 関数によって作成されたオブジェクトの他のタイプに対してではなく、ファイルオブジェクトに対してのみ使用されます。

FILE_ATTRIBUTE_ARCHIVE

- ファイルをアーカイブできます。
アプリケーションは、バックアップまたは移動用のファイルをマークするために、この属性を使用します。


FILE_ATTRIBUTE_ENCRYPTED

- ファルまたはディレクトリは暗号化されます。
これは、ファイルの場合、ファイル内のすべてのデータが暗号化されていることを意味します。
ディレクトリの場合は、暗号化は、新しく作成されたファイルとサブディレクトリのデフォルトであることを意味します。

FILE_ATTRIBUTE_SYSTEM を設定する場合は、このフラグの効果はありません。


FILE_ATTRIBUTE_HIDDEN

- ファイルは隠されます。(HIDDEN)


FILE_ATTRIBUTE_NORMAL

- ファイルは、他の属性セットがありません。
この属性は、そのいずれかがインストールされている場合にのみ有効です。


FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

- ファイルは、インデックス・サービスのコンテキストで、索引を作成されません。


FILE_ATTRIBUTE_OFFLINE

- データ・ファイルは、すぐに到達可能ではありません。
この属性は、ファイルのデータが物理的に外部ストレージに移動されていることを示します。
アプリケーションは、任意に、この属性を変更することはできません。


FILE_ATTRIBUTE_READONLY

- ファイルは読み取り専用です。
アプリケーションは、ファイルを読むことができますが、それを編集したり、削除したりできません。


FILE_ATTRIBUTE_SYSTEM

- 写真の一部であるか、またはオペレーティングシステムが排他的に使用します。


FILE_ATTRIBUTE_TEMPORARY

- ファイルは、一時的な保存のために使用されます。
ハンドルが閉じられたあとアプリケーションが一時ファイルを削除するので、利用できる十分なキャッシュがあるならば、ファイルシステムは、記憶域へデータを書くことを回避します。
この場合、システムは、データを書くことを、完全に避けることができます。
別の場合は、データは、ディスクリプタの終了の後に、書かれます。


また、このパラメータは、次のフラグを任意に組み合わせて使用できます:

FILE_FLAG_BACKUP_SEMANTICS

- ファイルは、開いたり、操作のバックアップまたはリストア用に、作成されます。
システムは、プロセスが特権 SE_BACKUP_NAME と SE_RESTORE_NAME である場合、呼び出したプロセスが、セキュリティチェック・ファイルを、アカウントに取得しないことを、保証します。

ディレクトリへのハンドルを取得するために、このフラグを設定することができます。
ディレクトリへのハンドルは、ファイル記述子の代わりに、一部の関数を渡すことができます。

Windows Me/98/95: このフラグは、サポートされていません。


FILE_FLAG_DELETE_ON_CLOSE

- そのすべてのハンドルがクローズされ、指定されたハンドルと、任意の otkrtye またはコピーされた記述子が与えられると、システムは、ファイルを直ちに削除します。
開いているファイル記述子がある場合は、それら(ディスクリプタ)が、パーティション FILE_SHARE_DELETE モードを持っていない限り、呼び出しは成功しません。
モード分配 FILE_SHARE_DELETE でない場合、ファイルを開くための連続した要求は、失敗します。


FILE_FLAG_NO_BUFFERING

- システムは、システム・キャッシング無しで、ファイルを開きます。
このフラグは、キャッシュするハードディスク・ドライブには、有効ではありません。
これが、FILE_FLAG_OVERLAPPED と組み合わされている場合、cc / pin は、メモリマネージャの同期操作に依存しないため、このフラグは、最大の assinhronnosti パフォーマンスを与えます。
ただし、データがキャッシュに格納されないため、一部の操作は、cc / pin より多く時間がかかります。
また、ファイルのメタデータは、まだキャッシュされるかもしれません。
ディスクのメタデータをリセットするには、FlushFileBuffers を使用します。

フラグ FILE_FLAG_NO_BUFFERING で開かれたファイルで作業するときに、アプリケーションは、特定の条件を udovlevotvoryat する必要があります:
ファイル・アクセスは、ファイル内での、バイトずらしで始めなければなりません。
そしてその IMET tselochislitelnuyu は、分割セクターのサイズの多数です。

ファイルアクセスは、セクタサイズのセクションの、IMET tselochislitelnuyu 多重度の、バイト数でなければなりません。
たとえば、512 バイトのセクタサイズ場合、アプリケーションの読み取りと命名規則は、335、981、または、7171 バイトではなく、512、1024、または、2048 バイトです。

読んだり書いたりするためのバッファのアドレスは、セクターに整列しなければなりません。これは、tselochislitelnuyu セクタ・サイズ・セクションの多様性があるメモリアドレスの整列、を意味します。
ディスクによっては、この要件が関与することはできません。

バッファ tselochislitelnoy 多重セクタサイズのセクションを整列させる一つの方法は、バッファを割り当てるのに、VirtualAlloc を使用することです。
これは、オペレーティングシステムのページサイズの大きい tselochislitelnuyu 多重度を持っているアドレスに、整列されているメモリを割り当てます。
パーティションのページ・サイズとセクターは、同様に整列です。

アプリケーションは、GetDiskFreeSpace を呼び出して、セクターセクションのサイズを取得することができます。

FILE_FLAG_OPEN_NO_RECALL

- データファイルは、要求されます。リモートの場所でそれらを整理し続けなければなりません。
このフラグは、リモート・ストレージ・システムが使用するためのものです。


FILE_FLAG_OPEN_REPARSE_POINT

- システムは、NTFS faylovovoy障害回復点の振る舞いを防ぎます。
このフラグは、フラグ CREATE_ALWAYS で使用することはできません。


FILE_FLAG_OVERLAPPED

- ファイルは、非同期 CC/Pin(BB/выв)のために開かれるか、作成されます。
操作が完了すると、OVERLAPPED 構造体への呼び出しで指定されたイベントが、シグナル状態に設定されます。
処理過程で、多くの時間を必要とする操作は、ERROR_IO_PENDING を返します。

このフラグが指定されている場合、ファイルは、同時の読み取り書き込み操作に使用できます。
システムは、ファイルポインタを変更することはありません。
ファイル位置を、OVERLAPPED 構造体の、読み書きする関数に渡すことにより、ファイルポインタを変更するか、あるいは、ファイル・ポインターを更新しなければなりません。

このフラグが指定されていない場合、操作 cc / pin は、シリアルです。
たとえ、関数が OVERLAPPED 構造を読み書きするために呼び出すとしても。


FILE_FLAG_POSIX_SEMANTICS

- ファイルへのアクセスは、POSIX ルールによって行われます。
大文字と小文字の区別ができるファイル名では、ファイル・システムは、そのような名前を考慮に入れるます。
MS-DOS または 16ビットWindows 用に作成されたアプリケーションは、このフラグ付きのファイルの作成を利用できない場合があるので、注意してこのオプションを使ってください。


FILE_FLAG_RANDOM_ACCESS

- ファイルへのアクセスが、矛盾しています。
システムは、ファイル・キャッシュへのヒントとして、これを使うことができます。


FILE_FLAG_SEQUENTIAL_SCAN

- ファイルへのアクセスは、最初から最後まで一貫しています。
システムは、ファイル・キャッシュへのヒントとして、これを使うことができます。
アプリケーションは、ランダムアクセスのために、ファイルポインタを移動すると、最適なキャッシングは、発生しません。
ただし、正しい動作は、保証されています。

このフラグを設定することにより、大きなファイルを順番に読み取るアプリケーションのパフォーマンスを向上させることができます。


FILE_FLAG_WRITE_THROUGH

- このシステムは、直接ディスク上の任意の中間キャッシュによって記録します。
さらに、フラグが FILE_FLAG_NO_BUFFERING の場合、システムは、効果的にキャッシュします。
その結果、データはシステム・キャッシュに書かれます。しかし遅くならずに、ディスクに流されます。


DwFlagsAndAttributes パラメータも、セキュリティ品質を含めることができます。
呼び出し側のアプリケーションが、SECURITY_SQOS_PRESENT フラグを指定している場合、dwFlagsAndAttributes パラメータは、次の1つ以上を指定できます:

SECURITY_ANONYMOUS

- 匿名のレベルのクライアントの役割で展開。


SECURITY_CONTEXT_TRACKING

- セキュリティ追尾モードは、動的です。
このフラグが指定されていない場合、セキュリティ追跡モードは、静的です。


SECURITY_DELEGATION

- クライアント・レベル委任の役割で展開。


SECURITY_EFFECTIVE_ONLY

- サーバー上の、クライアントのセキュリティコンテキストの、有効な面のみを、許可します。
このフラグを設定しない場合、クライアントのセキュリティコンテキストの、すべての面が可能になります。

これは、サーバーがクライアントの役割を果たして使用することができる、グループおよび特権を、klinetu 制限を与えます。


SECURITY_IDENTIFICATION

- 認識のレベルの、クライアントの役割で、展開。


SECURITY_IMPERSONATION

- クライアントのレベルの役割で展開。役割によって展開。


http://mneniya.ucoz.ru/

←リンク元に戻る Window9 トップに戻る FreeBASIC マニュアル トップに戻る
ロシア語オリジナル:https://users.freebasic-portal.de/freebasicru/window9lib/window9.html