2017-07-26 20 views
0

ユーザ入力からテキストファイルにipとportを書き込もうとしています。ただし、以下のコードは作成された文字列の一部のみを保存します。文字列をテキストファイルに書き込む - C#

私が書くために使用するコード:

private void Edit_Config(string data) 
{ 
    if (File.Exists(file_loc)) 
    { 
     using (StreamWriter edFile = new StreamWriter(file_loc, false)) 
     { 
      edFile.WriteLine(data); 
     } 
    } 
    else 
    { 
     //File not found, creates new config with new data. 
     using (FileStream fs = File.Create(file_loc)) 
     { 
      Byte[] bytes = new UTF8Encoding(true).GetBytes(data); 
      fs.Write(bytes, 0, bytes.Length); 
     } 
    } 
} 

私は「192.168.2.60:8080」を入れた場合、私は例の見返りに何を得る

Edit_Config(txt_serverIP.Text + ":" + txt_port.Text); 

コマンドを呼び出すために使用したコードに私は '192.168.2.6'が保存されます。

   edFile.Close(); 

ファイルを閉じると問題が解決しました。

+0

はでMessageboxはを入れてルーチンの開始時にデータ文字列を表示する機能。このエラーはここではなく、呼び出し側のルーチンにある可能性があります。 –

+0

メッセージボックスは、ファイルに入るべき正しい出力を返します。 –

+0

新しいファイルと既存のファイルの両方で失敗しますか? –

答えて

2

限り、あなたのdata文字列が正しいとして、これはあなたが今その方法でやっているすべてを処理する必要があります

private void Edit_Config(string data) 
{ 
    File.AppendAllText(file_loc, data); 
} 

このshould work in embedded framework

private void Edit_Config(string data) 
{ 
    using (var writer = new StreamWriter(file_loc, true)) 
    { 
     writer.WriteLine(data); 
    } 
} 
+0

埋め込みフレームワークでAppendAllTextがうまく動かない –

+0

更新された答えを確認してください。 –

+0

同じ結果が残っています。 –

関連する問題