.NET 4.0
ファイル IO の機能強化
.NET 4.0
IEnumerable<string> lines = File.ReadLines(@"TestData.txt");
foreach (var line in lines)
{
Console.WriteLine("Length={0}, Line={1}", line.Length, line);
}
.NET 2.0
string[] lines = File.ReadAllLines("TestData.txt");
foreach (var line in lines)
{
Console.WriteLine("Length={0}, Line={1}", line.Length, line);
}
.NET 2.0のFile.ReadAllLinesとの相違点:
- ReadLinesは全体のコレクションを返す前に、コレクションを利用できます。
ReadAllLinesは全体のコレクションを返すまえ、コレクションを利用できません。
- 巨大ファイルの読み込みに効率がいい場合があります。
- LINQに使えます。
var files = from file in Directory.EnumerateFiles(@"c:\",
"*.txt", SearchOption.AllDirectories)
from line in File.ReadLines(file)
where line.Contains("Microsoft")
select new
{
File = file,
Line = line
};
新しいメソッド
System.IO.File 名前空間
- public static IEnumerable<string>ReadLines(string path)
- public static void WriteAllLines(string path, IEnumerable<string> contents)
- public static void AppendAllLines(string path, IEnumerable<string> contents)
System.IO.Directory 名前空間
- public static Enumerable<string>EnumerateDirectories(string path)
- public static IEnumerable<string>EnumerateFiles(string path)
- public static IEnumerable<string>EnumerateFileSystemEntries(string path)
System.IO.DirectoryInfo 名前空間
- public IEnumerable<DirectoryInfo>EnumerateDirectories()
- public IEnumerable<FileInfo>EnumerateFiles()
- public IEnumerable<FileSystemInfo>EnumerateFileSystemInfos()
セシウム137を97.7%吸着
コメント:
|