C#IO

//配置取KEY VAULE
private static string con = ConfigurationManager.ConnectionStrings["conn"].ToString(); //配置绝对的路径 private static string path = ConfigurationManager.AppSettings["FileFPath"]; private static string pathlog = ConfigurationManager.AppSettings["LogPath"]; //当前文件路径 private static string logpath = AppDomain.CurrentDomain.BaseDirectory;

--多的话你还去弄个类方便管理

---new 出来的文件夹对象一定要判断,不然你就没有那个文件他一样会有!!垃圾

创建

if (!Directory.Exists(path)) //文件帮助类 检查文件是不是存在
            {

            };
            DirectoryInfo dir = new DirectoryInfo(pathlog);    //文件夹对象 如果文件夹不存在他一样能new出来!!!!
            Console.WriteLine($"{dir.Exists},{dir.Extension},{dir.FullName}");
            //Console.ReadKey();



            if (!File.Exists(Path.Combine(logpath,"info.txt")))
            {

            }
            FileInfo fine = new FileInfo(Path.Combine(logpath, "info.txt"));
            Console.WriteLine($"{fine.FullName}{fine.CreationTime},{fine.LastWriteTime}");
            //Console.ReadKey();



            {
                //directory
                if (!Directory.Exists(logpath))
                {
                    DirectoryInfo dirinfo = Directory.CreateDirectory(logpath);//一次创建
                    //Directory.Move(logpath,LogMovePath);
                    //Directory.Delete(logpath);
                }
            }

//写入

  //
            {//fiile
                string filename = Path.Combine(logpath, "log.txt");
                string filenameCopy = Path.Combine(logpath, "logCopy.txt");
                string filenamemove = Path.Combine(logpath, "LogMove");

                bool isexits = File.Exists(filename);
                if (!isexits)
                {//写入
                    //如果不存在就创建
                    Directory.CreateDirectory(logpath);
                    using (FileStream filestr=File.Create(filename)) //打开文件流写入
                    {
                        string name = "4545454";
                        byte[] byts = Encoding.Default.GetBytes(name);
                        filestr.Write(byts, 0, byts.Length);
                        filestr.Flush();
                    }
                    //using (FileStream fs=File.Create(filename))
                    //{
                    //    StreamWriter sw = new StreamWriter(filename);
                    //    sw.WriteLine("124343433");
                    //    sw.Flush();
                    //}
                    using (StreamWriter sw=File.AppendText(filename))
                    {
                        string msg = "sdsdsdasdsdada";
                        sw.WriteLine(msg);
                        sw.Flush();
                    }

                    using (StreamWriter sw = File.AppendText(filename))
                    {
                        string msg = "sdsdsdasdsdada";
                        byte[] bty = Encoding.Default.GetBytes(msg);
                        sw.BaseStream.Write(bty, 0, bty.Length);
                        sw.Flush();
                    }
                }

//读

   //
                {
                    foreach (string result in File.ReadAllLines(filename))
                    {
                        Console.WriteLine(result);
                    }
                    string sresult = File.ReadAllText(filename);
                    byte[] bytes = File.ReadAllBytes(filename);
                    string sreulstbytes = Encoding.UTF8.GetString(bytes);

                    using (FileStream strem = File.OpenRead(filename))
                    {
                        int length = 5;//1024好些
                        int result = 0;

                        do
                        {
                            byte[] btyes = new byte[length];
                            result = strem.Read(btyes, 0, 5);
                            for (int i = 0; i < result; i++)
                            {
                                Console.WriteLine(bytes[i].ToString());
                            }
                        } while (length==result);
                    }

                    File.Copy(filename, filenameCopy);
                    File.Move(filename,filenamemove);
                    File.Delete(filenameCopy);
                    File.Delete(filenamemove);
                }

            }

方法解析

      {//方法解析Path
            Console.WriteLine(Path.GetDirectoryName(logpath));//要看会末尾的返回值对结果有影响
            Console.WriteLine(Path.GetDirectoryName(@"D\\abd"));//返回的是d:\
            Console.WriteLine(Path.GetDirectoryName(@"D\\abd\"));//返回的是d:\
            Console.WriteLine(Path.GetRandomFileName());//随机
            Console.WriteLine(Path.GetFileNameWithoutExtension("d:\\abd.txt"));//只返回文件名abd
            Console.WriteLine(Path.GetInvalidPathChars());//禁止在路径上使用字符
            Console.WriteLine(Path.GetInvalidFileNameChars());//禁止在路径上使用字符
            Console.WriteLine(Path.Combine(logpath,""));//h合并
            }
        }

///例子  千万别把程序的异常抛出来 ,你会很爽

   public static void logshow(string msg)
        {
            StreamWriter sw = null; ;
            try
            {
                string filename = "log.txt";
                string tatalpath = Path.Combine(pathlog,filename);
                if (!Directory.Exists(pathlog))
                {
                    Directory.CreateDirectory(pathlog);
                }
                sw = File.AppendText(pathlog);
                sw.WriteLine($"{DateTime.Now},{msg}");
                sw.WriteLine("====================================");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                
            }
            finally
            {
                if (sw != null)
                {
                    sw.Flush();
                    sw.Close();
                    sw.Dispose();
                }
            }
        }

 

  

 

C#IO

上一篇:C# DllImport 方法,出现 The system cannot find the file specified 错误


下一篇:API的自动化测试