我想在服务器指定目录下新建一个名字随机的文本文件,然后对其写入字符串,请问用C#怎么实现好?

解决方案 »

  1.   

    string resultfilename;
      resultfilename=searchkeyword+dtf.Year.ToString()+dtf.Month.ToString()+dtf.Day.ToString()+dtf.Hour.ToString()+dtf.Minute.ToString()+dtf.Second.ToString()+rd.Next(0,10000)+aaa.ToString()+".htm";
      StreamWriter srf = File.CreateText(Server.MapPath("web/"+webname+"/"+resultfilename));
      

  2.   

    其实没搞懂你到底想干嘛
    StreamWriter SW=null;
    SW=File.CreateText(strPathName);
    SW.Write(strL);

    strPathName 生成个随机文件名不应该是个问题吧?
    strL string
      

  3.   

    using System;
    using System.IO;
    public class TextToFile 
    {
        private const string FILE_NAME = "绝对路径";
        public static void Main(String[] args) 
        {
            if (File.Exists(FILE_NAME)) 
            {
                Console.WriteLine("{0} already exists.", FILE_NAME);
                return;
            }
            StreamWriter sr = File.CreateText(FILE_NAME);
            sr.WriteLine ("This is my file.");
            sr.WriteLine ("I can write ints {0} or floats {1}, and so on.", 
                1, 4.2);
            sr.Close();
        }
    }
      

  4.   

    以上方法我已经试过,但调试时发生异常:
    对路径“c:\26019628226671.txt”的访问被拒绝。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.UnauthorizedAccessException: 对路径“c:\26019628226671.txt”的访问被拒绝。 ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。请问是不是我IIS设置的问题?