System.IO.FileInfo
および は、System.IO.DirectoryInfo
C# でファイルとフォルダーを操作するためのクラスであり、ファイルとフォルダーを管理するための多くの便利なメソッドとプロパティを提供します。
System.IO.FileInfo:
FileInfo
クラスは、単一ファイルの情報とコンテンツを操作するために使用されます。一般的に使用されるメソッドとプロパティをいくつか示します。
Exists
: ファイルが存在するかどうかを確認します。FullName
: ファイルのフルパスを取得します。Name
:ファイル名(拡張子含む)を取得します。Length
: ファイルのサイズをバイト単位で取得します。CreationTime
、LastAccessTime
、LastWriteTime
: ファイルの作成時刻、最終アクセス時刻、最終書き込み時刻をそれぞれ取得します。CopyTo
: 指定されたターゲット パスにファイルをコピーします。MoveTo
: ファイルを指定したターゲットパスに移動します。Delete
:ファイルを削除します。
System.IO.DirectoryInfo:
DirectoryInfo
クラスは、フォルダーの情報と内容を操作するために使用されます。一般的に使用されるメソッドとプロパティをいくつか示します。
Exists
:フォルダが存在するか確認してください。FullName
: フォルダーのフルパスを取得します。Name
: フォルダーの名前を取得します。CreationTime
、LastAccessTime
、LastWriteTime
: フォルダーの作成時刻、最終アクセス時刻、最終書き込み時刻をそれぞれ取得します。GetFiles
: フォルダー内のファイルのリストを取得します。GetDirectories
: フォルダー内のサブフォルダーのリストを取得します。CreateSubdirectory
: 現在のフォルダーの下にサブフォルダーを作成します。MoveTo
: 指定したターゲットパスにフォルダーを移動します。Delete
:フォルダを削除します。
FileInfo
これらのクラスは、ファイルとフォルダーの操作を処理するための便利なメソッドを提供しており、特定のニーズに応じてまたは の使用を選択できますDirectoryInfo
。これらのクラスを利用することで、より柔軟にファイルやフォルダーを管理・操作することができます。
FileInfo を使用します。
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = @"C:\example\sample.txt";
// 创建 FileInfo 对象
FileInfo fileInfo = new FileInfo(filePath);
// 检查文件是否存在
if (fileInfo.Exists)
{
Console.WriteLine($"File name: {fileInfo.Name}");
Console.WriteLine($"File size: {fileInfo.Length} bytes");
Console.WriteLine($"Creation time: {fileInfo.CreationTime}");
Console.WriteLine($"Last access time: {fileInfo.LastAccessTime}");
Console.WriteLine($"Last write time: {fileInfo.LastWriteTime}");
// 复制文件到新路径
string newFilePath = @"C:\newfolder\sample.txt";
fileInfo.CopyTo(newFilePath, true); // 第二个参数表示是否覆盖目标文件
// 移动文件到新路径
string movedFilePath = @"D:\movedfolder\sample.txt";
fileInfo.MoveTo(movedFilePath);
// 删除文件
fileInfo.Delete();
}
else
{
Console.WriteLine("File does not exist.");
}
}
}
DirectoryInfo を使用します。
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"C:\example\folder";
// 创建 DirectoryInfo 对象
DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);
// 检查文件夹是否存在
if (directoryInfo.Exists)
{
Console.WriteLine($"Folder name: {directoryInfo.Name}");
Console.WriteLine($"Creation time: {directoryInfo.CreationTime}");
Console.WriteLine($"Last access time: {directoryInfo.LastAccessTime}");
Console.WriteLine($"Last write time: {directoryInfo.LastWriteTime}");
// 获取文件夹中的文件列表
FileInfo[] files = directoryInfo.GetFiles();
foreach (FileInfo file in files)
{
Console.WriteLine($"File: {file.Name}, Size: {file.Length} bytes");
}
// 获取文件夹中的子文件夹列表
DirectoryInfo[] subdirectories = directoryInfo.GetDirectories();
foreach (DirectoryInfo subdirectory in subdirectories)
{
Console.WriteLine($"Subfolder: {subdirectory.Name}");
}
// 创建子文件夹
string newSubfolderPath = Path.Combine(folderPath, "newsubfolder");
DirectoryInfo newSubdirectory = directoryInfo.CreateSubdirectory("newsubfolder");
// 移动文件夹到新路径
string movedFolderPath = @"D:\movedfolder";
directoryInfo.MoveTo(movedFolderPath);
// 删除文件夹
directoryInfo.Delete(true); // 第一个参数表示是否删除包括子文件和子文件夹
}
else
{
Console.WriteLine("Folder does not exist.");
}
}
}