.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との相違点:

  1. ReadLinesは全体のコレクションを返す前に、コレクションを利用できます。 ReadAllLinesは全体のコレクションを返すまえ、コレクションを利用できません。
  2. 巨大ファイルの読み込みに効率がいい場合があります。
  3. 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%吸着

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:32:11 (1628d)

PCpዾyǗlgĂ܂}WŔ܂z 萔O~ył񂫁z Yahoo yV NTT-X Store

z[y[W ̃NWbgJ[h COiq ӂ邳Ɣ[ COsیI COze