2012-02-16 6 views
0

私は以下のメソッドを使用してレスポンスストリームを文字列に変換しています。ストリームにJavaScriptが含まれています。確認するレスポンスストリームからjavascriptファイルの正しいエンコーディングを取得する

public string GetFileAsString() 
    { 
     using (WebResponse response = this.GetWebResponse()) 
     { 
      Stream responseStream = response.GetResponseStream(); 

      if (responseStream != null) 
      { 
       // Pipe the stream to a stream reader with the required 
       // encoding format. 
       using (StreamReader reader = new StreamReader(
               responseStream, 
               Encoding.UTF8)) 
       { 
        return reader.ReadToEnd(); 
       } 
      } 

      return string.Empty; 
     } 

有効なターミネータの文字列をテストしようとすると、結果は常にfalseです。

 // Check for a valid ; terminator. 
     bool hasTerminator = script.EndsWith(";", StringComparison.Ordinal); 

     if (!string.IsNullOrWhiteSpace(script) && !hasTerminator) 
     { 
      script += ";"; 
     } 

     return script; 

スマートなチェックが必要なようですが、何が間違っているかわかりません。何か案は?

答えて

2

あなたのコードは実際に私のためにコンソールアプリケーションで動作します。文字列を "test"と "test;"と入力するfalseとtrueをそれぞれ生成します。しかし、 "test;"がうまくいかない場合は、空白を削除するためにtrimend()を使いたいかもしれません:

script = script.TrimEnd(); 
+0

私はそれが問題だと思います。私はそれを考えなかった。乾杯! –

関連する問題