web-dev-qa-db-ja.com

.Net Compact Frameworkで文字列にファイルコンテンツを読み取る

.net compact framework 2.0を使用して、モバイルデバイス用のアプリケーションを開発しています。ファイルのコンテンツを文字列オブジェクトにロードしようとしていますが、どういうわけか完了できません。 _System.IO.StreamReader_クラスにはReadToEnd()メソッドがありません。この機能を提供する別のクラスはありますか?

50
lng
StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader("TestFile.txt")) 
{
    String line;
    // Read and display lines from the file until the end of 
    // the file is reached.
    while ((line = sr.ReadLine()) != null) 
    {
        sb.AppendLine(line);
    }
}
string allines = sb.ToString();
98
Jethro
string text = string.Empty;
using (StreamReader streamReader = new StreamReader(filePath, Encoding.UTF8))
{            
    text = streamReader.ReadToEnd();
}

別のオプション:

string[] lines = File.ReadAllLines("file.txt");

https://Gist.github.com/paulodiogo/91343

シンプル!

41
Diogo

File.ReadAllText(file) 探しているものは?

File.ReadAllLines(file) もあります。これは、行ごとに配列に分割したい場合に使用します。

7
Brad Christie

File.ReadAllTextはコンパクトフレームワークでサポートされているとは思わない。代わりにこのstreamreaderメソッドを使用してみてください。

http://msdn.Microsoft.com/en-us/library/aa446542.aspx#netcfperf_topic039

VBの例ですが、C#に翻訳するのは非常に簡単です。ReadLineは読み取る行がなくなるとnullを返します。必要に応じて文字列バッファーに追加できます。

3
Nikki9696