情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。
1 人のうち 0 人が、役に立ったと評価しています - このトピックを評価する

File クラス

ファイルの作成、コピー、削除、移動、オープンのための静的メソッドを提供し、FileStream オブジェクトの作成を支援します。

名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)

[ComVisibleAttribute(true)] 
public static class File
/** @attribute ComVisibleAttribute(true) */ 
public final class File
ComVisibleAttribute(true) 
public final class File
適用できません。

File クラスは、ファイルのコピー、移動、名前変更、作成、オープン、削除、内容の追加などの一般的な操作に使用します。File クラスは、ファイルの作成、ファイルへのアクセス、およびファイルへの書き込みに関連した DateTime 情報、およびファイル属性の取得と設定にも使用できます。

File のメソッドの多くは、ファイルを作成またはオープンしたときにそれぞれに異なる I/O 型を返します。これらの型は、以降のファイル操作に使用できます。詳細については、OpenTextCreateTextCreate などの具体的な File メンバのトピックを参照してください。

File のメソッドはすべて静的であるため、1 つの操作を実行するだけであれば、File のメソッドを使用する方が、対応する FileInfo のインスタンス メソッドを使用するよりも効率的な場合があります。File メソッドはすべて、操作するファイルのパスを必要とします。

File クラスの静的メソッドは、すべてのメソッドでセキュリティ チェックを実行します。オブジェクトを何回か再利用する場合は、このようなセキュリティ チェックが必ずしも必要ではなくなるため、これらの静的メソッドの代わりに FileInfo の対応するインスタンス メソッドを使用することを検討してください。

既定では、すべてのユーザーに、新しいファイルに対する完全な読み書きアクセス権が与えられます。

さまざまな File メソッドの動作をカスタマイズするために使用する列挙体を次の表に示します。

列挙体

説明

FileAccess

ファイルへの読み取りと書き込みのアクセスを指定します。

FileShare

既に使用中のファイルに対するアクセス許可レベルを指定します。

FileMode

既存のファイルの内容を保持または上書きするか、既存のファイルの作成要求が例外となるかどうかを指定します。

メモメモ :

入力文字列としてパスを受け入れるメンバでは、そのパスが正しい書式である必要があります。それ以外の場合は、例外が発生します。たとえば、パスが絶対パスであっても空白で始まっている場合、そのパスはクラスのメソッドではトリムされません。このため、パスが正しい書式にならず、例外が発生します。同様に、1 つのパスまたは複数のパスの組み合わせを絶対パスとして 2 度指定することはできません。たとえば、"c:\temp c:\windows" でも、ほとんどの場合において例外が発生します。パス文字列を受け入れるメソッドを使用するときは、パスが適切な書式であることを確認します。

パスを受け入れるメンバでは、ファイルまたはディレクトリを参照するパスを指定できます。指定するパスは、相対パス、またはサーバーおよび共有名を示す UNC (Universal Naming Convention) パスにすることができます。たとえば、次に示すパスはすべて有効なパスです。

  • C# では "c:\\MyDir\\MyFile.txt"、Visual Basic では "c:\MyDir\MyFile.txt"。

  • C# では "c:\\MyDir"、Visual Basic では "c:\MyDir"。

  • C# では "MyDir\\MySubdir"、Visual Basic では "MyDir\MySubDir"。

  • C# では "\\\\MyServer\\MyShare"、Visual Basic では "\\MyServer\MyShare"。

共通 I/O タスクの一覧については、「共通 I/O タスク」を参照してください。

File クラスの主要なメンバの例を次に示します。

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";
        if (!File.Exists(path)) 
        {
            // Create a file to write to.
            using (StreamWriter sw = File.CreateText(path)) 
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }	
        }

        // Open the file to read from.
        using (StreamReader sr = File.OpenText(path)) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }

        try 
        {
            string path2 = path + "temp";
            // Ensure that the target does not exist.
            File.Delete(path2);

            // Copy the file.
            File.Copy(path, path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            // Delete the newly created file.
            File.Delete(path2);
            Console.WriteLine("{0} was successfully deleted.", path2);
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

import System.*;
import System.IO.*;

class Test
{
    public static void main(String[] args)
    {
        String path = "c:\\temp\\MyTest.txt";

        if (!(File.Exists(path))) {
            // Create a file to write to.
            StreamWriter sw = File.CreateText(path);

            try {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
            finally {
                sw.Dispose();
            }
        }

        // Open the file to read from.
        StreamReader sr = File.OpenText(path);

        try {
            String s = "";

            while ((s = sr.ReadLine()) != null) {
                Console.WriteLine(s);
            }
        }
        finally {
            sr.Dispose();
        }
        try {
            String path2 = path + "temp";

            // Ensure that the target does not exist.
            File.Delete(path2);

            // Copy the file.
            File.Copy(path, path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            // Delete the newly created file.
            File.Delete(path2);
            Console.WriteLine("{0} was successfully deleted.", path2);
        }
        catch (System.Exception e) {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    } //main
} //Test

System.Object
  System.IO.File
この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

.NET Compact Framework

サポート対象 : 2.0,1.0

XNA Framework

サポート対象 : 1.0
この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました

コミュニティの追加

表示:
© 2014 Microsoft. All rights reserved.