写入文件但无法进行转换

时间:2012-06-12 08:59:31

标签: c# php

我有这样的PHP代码,我需要将其转换为.Net

$A = array_keys($_GET);
$f1 = fopen("doc\\outputreport.txt",'w');
for($i=0; $i<sizeof($A); $i++) {
$args = $A[$i]."=".konvertering($_GET[ $A[$i] ], "ISO8859-1", "UTF-8");
fwrite($f1, $args."\r\n");
}

这是我的转换:

  string fileOut = ((Request.QueryString["msisdn"] )+ (Request.QueryString["shortcode"]) + (Request.QueryString["password"]).ToString());
        try
        {
            Filestream filestream = new Filestream(@"\\outputreport.txt",  FileMode.Open, FileAccess.Write,FileMode.Append);

        }
        finally
        {

        }
    }

值来自另一个页面,通过查询字符串。在这个文件中,我将转换后的值.UTF-8写入ISO.I有另一个叫做konvertering的函数,用于将字符从UTF 8转换为ISO。但是我在这里不处理那个部分..这部分部分是否正确?我怎么能做那个部分..给我一个解决方案或线索

2 个答案:

答案 0 :(得分:2)

我从未使用过PHP,但如果你只是想写一个文件,那么最好使用

System.IO.File.AppendAllText(string path, string contents);

答案 1 :(得分:2)

我认为根据你的问题它适用于你:

 string fileOut = ((Request.QueryString["msisdn"] )+ (Request.QueryString["shortcode"]) + (Request.QueryString["password"]).ToString());

string mydocpath = 
        Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    StringBuilder sb = new StringBuilder();

    foreach (string txtName in Directory.EnumerateFiles(mydocpath,"outputreport.txt")) 
    {
        using (StreamReader sr = new StreamReader(txtName))
        {
            sb.AppendLine(fileOut);
            sb.AppendLine("= = = = = =");
            sb.Append(sr.ReadToEnd());
            sb.AppendLine();
            sb.AppendLine();
        }

    }

    using (StreamWriter outfile = 
        new StreamWriter(mydocpath + @"\outputreport.txt"))
    {
        outfile.Write(sb.ToString());
    }