次の方法で共有


File.Create メソッド (String)

指定したパスでファイルを作成します。

Overloads Public Shared Function Create( _
   ByVal path As String _) As FileStream
[C#]
public static FileStream Create(stringpath);
[C++]
public: static FileStream* Create(String* path);
[JScript]
public static function Create(
   path : String) : FileStream;

パラメータ

  • path
    作成するファイルのパスと名前。

戻り値

指定したファイルへの読み取り/書き込みアクセスを提供する FileStream

例外

例外の種類 条件
UnauthorizedAccessException 呼び出し元に、必要なアクセス許可がありません。

または

path によって、読み取り専用のファイルが指定されました。

ArgumentException path が、長さが 0 の文字列であるか、空白しか含んでいないか、または InvalidPathChars で定義されている無効な文字を 1 つ以上含んでいます。
ArgumentNullException path が null 参照 (Visual Basic では Nothing) です。
PathTooLongException 指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームの場合、パスの長さは 248 文字未満、ファイル名の長さは 260 文字未満である必要があります。
DirectoryNotFoundException 割り当てられていないドライブであるなど、指定されたパスが無効です。
IOException ファイルを作成しているときに、I/O エラーが発生しました。
NotSupportedException path の形式が無効です。

解説

このメソッドは、既定のバッファ サイズを使用する Create(String, Int32) と等価です。

path パラメータは、相対パス情報または絶対パス情報を指定することを許可されています。相対パス情報は、現在の作業ディレクトリに対して相対的に解釈されます。現在の作業ディレクトリを取得するには、 GetCurrentDirectory のトピックを参照してください。

指定したファイルが存在しない場合は、ファイルが作成されます。指定したファイルが存在し、それが読み取り専用でない場合、その内容は上書きされます。

既定では、すべてのユーザーに、新しいファイルに対する完全な読み書きアクセス権が与えられます。ファイルは読み取り/書き込みアクセスで開かれ、別のアプリケーションが開く前に閉じる必要があります。

このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

実行するタスク 参考例があるトピック
テキスト ファイルを作成する。 ファイルへのテキストの書き込み
テキスト ファイルに書き込む。 ファイルへのテキストの書き込み
テキスト ファイルから読み取る。 ファイルからのテキストの読み取り
テキストをファイルに追加する。 ログ ファイルのオープンと追加

File.AppendText

FileInfo.AppendText

ファイルをコピーする。 File.Copy

FileInfo.CopyTo

ファイルの名前を変更、またはファイルを移動する。 File.Move

FileInfo.MoveTo

ファイルを削除する。 File.Delete

FileInfo.Delete

バイナリ ファイルから読み取る。 新しく作成したデータ ファイルの読み取りと書き込み
バイナリ ファイルに書き込む。 新しく作成したデータ ファイルの読み取りと書き込み
ディレクトリを作成する。 CreateDirectory

Directory

使用例

[Visual Basic, C#, C++] 指定したパスでファイルを作成し、そのファイルに情報を書き込み、そのファイルを読み取る例を次に示します。

 
Imports System
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' Delete the file if it exists.
        If File.Exists(path) Then
            File.Delete(path)
        End If

        ' Create the file.
        Dim fs As FileStream = File.Create(path)
        Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")

        ' Add some information to the file.
        fs.Write(info, 0, info.Length)
        fs.Close()

        ' Open the stream and read it back.
        Dim sr As StreamReader = File.OpenText(path)
        Do While sr.Peek() >= 0
            Console.WriteLine(sr.ReadLine())
        Loop
        sr.Close()
    End Sub
End Class

[C#] 
using System;
using System.IO;
using System.Text;

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";

        // Delete the file if it exists.
        if (File.Exists(path)) 
        {
            File.Delete(path);
        }

        // Create the file.
        using (FileStream fs = File.Create(path)) 
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (StreamReader sr = File.OpenText(path)) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }
    }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::IO;
using namespace System::Text;

int main() {
    String* path = S"c:\\temp\\MyTest.txt";

    // Delete the file if it exists.
    if (File::Exists(path)) {
        File::Delete(path);
    }

    // Create the file.
    FileStream* fs = File::Create(path);
    try {
        Byte info[] = (new UTF8Encoding(true))->GetBytes(S"This is some text in the file.");
        // Add some information to the file.
        fs->Write(info, 0, info->Length);
    } __finally {
        if (fs) __try_cast<IDisposable*>(fs)->Dispose();
    }

    // Open the stream and read it back.
    StreamReader* sr = File::OpenText(path);
    try {
        String* s = S"";
        while (s = sr->ReadLine()) {
            Console::WriteLine(s);
        }
    } __finally {
        if (sr) __try_cast<IDisposable*>(sr)->Dispose();
    }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

.NET Framework セキュリティ:

参照

File クラス | File メンバ | System.IO 名前空間 | File.Create オーバーロードの一覧 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み | 基本のファイル I/O | 新しく作成したデータ ファイルの読み取りと書き込み