個人的に私はコレクションにファイルを読んだ、試すこと - 例えばリスト<> - 私のテキストボックスに割り当てるのではなく設定する前に、 (TextBoxには表示されていないすべてのもの、つまり最後の行の後ろにあるものすべてが事実上失われます)。
また、StreamReadersを使用する場合は、usingステートメントを使用します。完了したらStreamReader.Close()を呼び出す必要がなくなります。
public List<string> ReadTextFile(string filePath)
{
var ret = new List<string>();
if (!File.Exists(filePath))
throw new FileNotFoundException();
// Using the "using" directive removes the need of calling StreamReader.Close
// when we're done with the object - it closes itself.
using (var sr = new StreamReader(filePath, Encoding.UTF8))
{
var line;
while ((line = sr.ReadLine()) != null)
ret.Add(line);
}
return ret;
}
また、配列などのコレクションを使用することもできます。これを使用すると、そのようなあなたのTextBox要素を埋めることができます:
var fileContents = ReadTextFile("arabic.txt");
foreach (var s in fileContents)
textBox1.Text += string.Format("{0}{1}", s, Environment.NewLine);
まだFILECONTENTSにテキストファイルのローカルコピーを持ちながら。
これはファイルの形式とは関係ありません。テキストボックスのテキストは、読み込んだときに各行に置き換えます。 – Foole
また、私はあなたがデータを保存するために使用しているデータ構造を変更することをお勧めします。動的に作成された配列(txtfile)を使用しているようです。代わりに 'ArrayList'などを使用してください。 – Shai
あなたのアドバイスありがとう –