zoukankan      html  css  js  c++  java
  • ASP.NET在本地服务器上创建目录并在该目录下写文件(转)

    代码
    public static Boolean WriteTextFile(string content, string filepath,string name)
        {
            FileStream fs;
            StreamWriter sw;
            
    if (!System.IO.Directory.Exists(filepath))
            {
              DirectoryInfo DirInfo 
    = Directory.CreateDirectory(filepath); //创建目录
               DirInfo.Attributes = FileAttributes.Normal; 
            }
            
    string fullpath = filepath  + name + ".txt";
            
    if (File.Exists(fullpath))//验证文件是否存在
                {
                    
    return false;
                }
                
    else
                {
                    fs 
    = new FileStream(fullpath, FileMode.Create, FileAccess.Write);
                    sw 
    = new StreamWriter(fs,System.Text.Encoding.Default);
                    sw.WriteLine(content);
                    sw.Close();
                    fs.Close();
                    
    return true;

                }
        }

    在做这个相关工作的时候 还碰到一个问题就是 用一下方法读取中文文本文件时,出现乱码的现象:

    代码
    public static String ReadTextFile(string filepath)   
        {   
      
      
            StreamReader objReader 
    = new StreamReader(filepath);   
            
    string sLine = "";   
            ArrayList arrText 
    = new ArrayList();   
      
            
    while (sLine != null)   
            {   
                sLine 
    = objReader.ReadLine();   
                
    if (sLine != null)   
                    arrText.Add(sLine);   
            }   
            objReader.Close();   
            StringBuilder sb 
    = new StringBuilder();   
      
            
    foreach (string sOutput in arrText)   
                sb.Append(sOutput);   
      
            
    return sb.ToString();   
        }  

    查询资料 发现对上面代码中的StreamReader修改一下,如下代码:

    代码
    public static String ReadTextFile(string filepath)   
       {   
      
      
           StreamReader objReader 
    = new StreamReader(filepath, System.Text.Encoding.Default);   
           
    string sLine = "";   
           ArrayList arrText 
    = new ArrayList();   
      
           
    while (sLine != null)   
           {   
               sLine 
    = objReader.ReadLine();   
               
    if (sLine != null)   
                   arrText.Add(sLine);   
           }   
           objReader.Close();   
           StringBuilder sb 
    = new StringBuilder();   
      
           
    foreach (string sOutput in arrText)   
               sb.Append(sOutput);   
      
           
    return sb.ToString();   
       }  

    则没有出现乱码的情况,同理 在写文件的时候,也要这样写:

    sw = new StreamWriter(fs,System.Text.Encoding.Default);

    如果这样写:

    sw = new StreamWriter(fs);

    能够写出新的文件,在windows里面打开也和普通文件没有差别,但是在读取的时候会出现认不出中文的情况.这个问题在全文检索系统中困扰了一阵子,就是用sw = new StreamWriter(fs);写进去的文章 检索不出来,可能就是编码不匹配造成的

  • 相关阅读:
    个人:我的2011生活看板
    个人管理:公司做的稻盛阿米巴培训笔记
    使用TOGAF来做业务架构 价值驱动产品开发
    30天敏捷结果(21)正面失败,吸取教训,改善结果
    2010年12月blog汇总:敏捷个人
    30天敏捷结果(25):固定时间,灵活范围
    101与金根回顾敏捷个人:(11)执行力
    团队管理:设计团队的一周
    云:构建云计算的核心技术与平台
    读书笔记:千万别学英语
  • 原文地址:https://www.cnblogs.com/lann/p/1641272.html
Copyright © 2011-2022 走看看