1.winform 获取本地文件夹地址 string Path = AppDomain.CurrentDomain.BaseDirectory + "文件夹的名称\\";
2.一般处理程序获取string Path = System.Web.HttpContext.Current.Server.MapPath("~/文件夹的名称/");
操作本地文件
/// <summary> /// 用递归方法删除文件夹目录及文件 /// </summary> /// <param name="dir">带文件夹名的路径</param> public void DeleteFolder(string Path) { if (Directory.Exists(Path)) //如果存在这个文件夹删除之 { foreach (string d in Directory.GetFileSystemEntries(Path)) { if (File.Exists(d)) File.Delete(d); //直接删除其中的文件 else DeleteFolder(d); //递归删除子文件夹 } Directory.Delete(Path, true); //删除已空文件夹 }
}
写入本地文件
if (!Directory.Exists(SaveFilePath))//不存在这个文件夹就创建这个文件夹 { Directory.CreateDirectory(SaveFilePath);//创建文件 } filePath = Path.Combine(string.Format("{0}{1}.zip", SaveFilePath, AirName));//存放地址 HttpWebRequest request = HttpWebRequest.Create("请求数据地址") as HttpWebRequest; request.Method = "GET"; request.ProtocolVersion = new Version(1, 1); HttpWebResponse response = request.GetResponse() as HttpWebResponse; if (response.StatusCode == HttpStatusCode.NotFound) { //找不到则直接返回null } // 转换为byte类型 using (System.IO.Stream stream = response.GetResponseStream()) { //创建本地文件写入流 Stream fs = new FileStream(filePath, FileMode.Create); byte[] bArr = new byte[1024]; int size = stream.Read(bArr, 0, (int)bArr.Length); while (size > 0) { fs.Write(bArr, 0, size); size = stream.Read(bArr, 0, (int)bArr.Length); } fs.Close(); stream.Close(); }#region 解压下载的数据 if (!Directory.Exists(filePath))//查询存不存在这个文件 如果存在就解压文件 { ZipFile.ExtractToDirectory("文件名称", "文件地址");------------------------------------读取本地文件并转换成实体类---------------------------------------ZipFile.ExtractToDirectory(filePath, SaveFilePath);
} #endregionFileStream fss = File.Open("文件的完整地址 c:\\a.txt", FileMode.Open); using (StreamReader sr = new StreamReader(fss)) { using (Newtonsoft.Json.JsonReader reader = new Newtonsoft.Json.JsonTextReader(sr)) { Newtonsoft.Json.JsonSerializer serializer = new Newtonsoft.Json.JsonSerializer(); flist = serializer.Deserialize<FlightList>(reader);//反序列化 } }