




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、通用文件處理方法集合using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Windows.Forms;using System.Drawing;namespace LaisonTech.CommonBLL / <summary> / 文件操作處理 / </summary> public class FileProcessor #region 文件夾操作 / <summary> / 判斷文件夾是否存在 / </summary
2、> / <param name="filename">文件名,帶路徑</param> / <returns></returns> public static Boolean DirectoryExist(String directname) return Directory.Exists(directname); / <summary> / 創建文件夾 / </summary> / <param name="filename">文件名,帶路徑</param&g
3、t; / <returns></returns> public static Boolean CreateDirectory(String directname) if (Directory.Exists(directname) return true; Directory.CreateDirectory(directname); return Directory.Exists(directname); / <summary> / 刪除文件夾 / </summary> / <param name="filename"&g
4、t;文件名,帶路徑</param> / <returns></returns> public static void DeleteDirectory(String directname) if (!Directory.Exists(directname) return; Directory.Delete(directname); / <summary> / 獲取指定文件夾下,所有文件的文件名 / </summary> / <param name="directoryname"></param>
5、; / <param name="filenamelist"></param> / <returns></returns> public static List<String> GetFileNameInDirectory(String directoryname) bool bl = Directory.Exists(directoryname); if (!bl) return null; String filenameary = Directory.GetFiles(directoryname); if (f
6、ilenameary = null | filenameary.Length < 1) return null; List<String> ret = new List<String>(); ret.AddRange(filenameary); return ret; / <summary> / 獲取指定文件夾下,指定后綴名的文件名 / </summary> / <param name="directoryname"></param> / <param name="suffix&q
7、uot;>后綴名,不含點號.如"jpg"</param> / <returns></returns> public static List<String> GetFileNameInDirectory(String directoryname, String suffix) bool bl = Directory.Exists(directoryname); if (!bl) return null; if (suffix0 = '*') suffix = suffix.Substring(1); if
8、(suffix0 = '.') suffix = suffix.Substring(1); if (suffix.Length > 0) suffix = "*." + suffix; String filenameary = null; if (suffix.Length > 2) filenameary = Directory.GetFiles(directoryname, suffix); else filenameary = Directory.GetFiles(directoryname); if (filenameary = null
9、 | filenameary.Length < 1) return null; List<String> ret = new List<String>(); ret.AddRange(filenameary); return ret; #endregion#region 文件操作(非文件內容) / <summary> / 判斷文件是否存在 / </summary> / <param name="filename">文件名,帶路徑</param> / <returns></retu
10、rns> public static Boolean FileExist(String filename) return File.Exists(filename); / <summary> / 獲取文件長度 / </summary> / <param name="filename">文件名</param> / <returns>文件不存在,返回-1.存在,返回文件長度</returns> public static Int32 GetFileLength(String filename) Boo
11、lean blret = File.Exists(filename); if (!blret) return -1; FileInfo fi = new FileInfo(filename); Int32 ret = (Int32 )fi.Length; return ret; / <summary> / 從不帶路徑的文件名里,獲取后綴名. 比如”abc.jpg” 得到”jpg” / </summary> / <param name="filename">不帶路徑的文件名</param> / <returns>后綴
12、名,不帶點號</returns> public static String GetFileSuffixName(String filename) if (filename.Length < 1) return String.Empty; Int32 index_lastpoint = filename.LastIndexOf('.'); if (index_lastpoint < 0) | (index_lastpoint >= filename.Length) MessageProcessor.EX("Invalid file name
13、.Can't find ''"); String ret = filename.Substring(index_lastpoint + 1); return ret; / <summary> / 從帶路徑的文件名里,獲取路徑名 比如”c:programdemo.jpg”得到” c:program” / </summary> / <param name="pathfilename">帶路徑的文件名</param> / <returns>不帶路徑,不帶后綴名的純文件名</retu
14、rns> public static String GetDirectoryName(String pathfilename) if (pathfilename.Length < 1) return String.Empty; Int32 index_lastbias = pathfilename.LastIndexOf(''); String dir = pathfilename.Substring(0, index_lastbias); return dir; / <summary> / 從帶路徑的文件名里,獲取帶后綴名的純文件名 /比如”c:pro
15、gramdemo.jpg”得到” demo.jpg” / </summary> / <param name="pathfilename">帶路徑的文件名</param> / <returns>不帶路徑,帶后綴名的純文件名</returns> public static String GetPureFileNameWithSuffix(String pathfilename) if (pathfilename.Length < 1) return String.Empty; Int32 index_lastbi
16、as = pathfilename.LastIndexOf(''); if (index_lastbias < 0) | (index_lastbias >= pathfilename.Length) MessageProcessor.EX("Invalid file name.Can't find ''"); String ret = pathfilename.Substring(index_lastbias + 1); return ret; / <summary> / 從帶路徑的文件名里,獲取不帶后綴名的
17、文件名 /比如”c:programdemo.jpg”得到” demo” / </summary> / <param name="pathfilename">帶路徑的文件名</param> / <returns>不帶路徑,不帶后綴名的純文件名</returns> public static String GetPureFileNameNoSuffix(String pathfilename) if (pathfilename.Length < 1) return String.Empty; Int32 inde
18、x_lastbias = pathfilename.LastIndexOf(''); Int32 index_lastpoint = pathfilename.LastIndexOf('.'); if (index_lastpoint < 0) | (index_lastbias < 0) | (index_lastbias >= index_lastpoint) return String.Empty; Int32 pfnlen = index_lastpoint - index_lastbias - 1; /純文件名長度 if (pfnle
19、n < 1) return String.Empty; String ret = pathfilename.Substring(index_lastbias + 1, pfnlen); return ret; / <summary> / 選擇1個文件 / </summary> / <param name="title">選擇窗口的標題</param> / <param name="defaultpath"></param> / <param name="filt
20、er">格式形如Text files (*.txt)|*.txt|All files (*.*)|*.*</param> / <param name="filename">選中的文件名</param> / <returns></returns> public static Boolean SelectFile(String title, String defaultpath, String filter, out String filename) /Text files (*.txt)|*.txt|
21、All files (*.*)|*.* /Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.* filename = String.Empty; OpenFileDialog dlg = new OpenFileDialog(); dlg.CheckFileExists = true; dlg.Title = title; dlg.InitialDirectory = defaultpath; dlg.Filter = filter; dlg.RestoreDirectory = true; dlg.Multi
22、select = false; dlg.FilterIndex = 0; DialogResult ret = dlg.ShowDialog(); if (ret != DialogResult.OK) return false; filename = dlg.FileName; return true; / <summary> / 選擇多個文件 / </summary> / <param name="title">選擇窗口的標題</param> / <param name="defaultpath"
23、>默認路徑</param> / <param name="filter">格式形如Text files (*.txt)|*.txt|All files (*.*)|*.*</param> / <param name="filename">選中的文件名稱數組</param> / <returns></returns> public static Boolean SelectFiles(String title, String defaultpath, String f
24、ilter, out String filenames) filenames = null; OpenFileDialog dlg = new OpenFileDialog(); dlg.CheckFileExists = true; dlg.Title = title; dlg.Filter = filter; dlg.InitialDirectory = defaultpath; dlg.RestoreDirectory = true; dlg.Multiselect = true; dlg.FilterIndex = 0; DialogResult ret = dlg.ShowDialo
25、g(); if (ret != DialogResult.OK) return false; filenames = dlg.FileNames; return true; / <summary> / 選擇一個文件夾 / </summary> / <param name="title">選擇窗口的標題</param> / <param name="defaultpath">默認路徑</param> / <param name="directory">選
26、中的文件夾</param> / <returns></returns> public static Boolean SelectDirectory(String title, String defaultpath, out String directory) directory = defaultpath; FolderBrowserDialog dlg = new FolderBrowserDialog(); dlg.Description = title; dlg.SelectedPath = defaultpath; dlg.ShowNewFolder
27、Button = true; DialogResult ret = dlg.ShowDialog(); if (ret != DialogResult.OK) return false; directory = dlg.SelectedPath; return true; / <summary> / 顯示 保存文件 對話框,獲取目標路徑 / </summary> / <param name="defaultpath"></param> / <param name="filter">格式形如Tex
28、t files (*.txt)|*.txt|All files (*.*)|*.*</param> / <param name="filename"></param> / <returns></returns> public static Boolean GetSaveFileName(String defaultpath, String filter, out String filename) /Text files (*.txt)|*.txt|All files (*.*)|*.* /Image Files(*
29、.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.* filename = String.Empty; SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = filter; dlg.InitialDirectory = defaultpath; dlg.RestoreDirectory = true; dlg.FilterIndex = 0; DialogResult ret = dlg.ShowDialog(); if (ret != DialogResult.OK) retu
30、rn false; /Stream filestream = dlg.OpenFile(); filename = dlg.FileName; return true; / <summary> / 刪除文件 / </summary> / <param name="filename"></param> / <returns></returns> public static Boolean DeleteFile(String filename) Boolean bl = FileExist(filename
31、); if (!bl) return true; try File.Delete(filename); catch (System.Exception ex) Console.WriteLine("Delete file error:" + ex.Message); return false; bl = FileExist(filename); return !bl; / <summary> / 復制文件 / </summary> / <param name="srcfilename"></param> /
32、 <param name="destfilename"></param> / <returns></returns> public static Boolean CopyFile(String srcFileName, String destFileName) Boolean bl = FileExist(srcFileName); if (!bl) return false; File.Copy(srcFileName, destFileName, true); bl = FileExist(destFileName); r
33、eturn bl; / <summary> / 剪切文件 / </summary> / <param name="srcfilename"></param> / <param name="destfilename"></param> / <returns></returns> public static Boolean MoveFile(String srcFileName, String destFileName) Boolean bl = FileExis
34、t(srcFileName); if (!bl) return false; File.Move(srcFileName, destFileName); bl = FileExist(destFileName); return bl; #endregion#region 文件內容操作 / <summary> / 讀取文件里所有內容到文本里 / </summary> / <param name="filename">文件名</param> / <param name="filestring">讀取
35、到的文件內容</param> / <returns>裝載成功返回True;失敗返回False</returns> public static Boolean ReadFileString(String filename, out String filestring) filestring = String.Empty; Int32 filelen = GetFileLength(filename); if (filelen < 1) return false; filestring = File.ReadAllText(filename, Encodi
36、ng.Default); return true; / <summary> / 讀取文件里所有內容到文本列表里 / </summary> / <param name="filename">文件名</param> / <param name="filestring">讀取到的文件內容</param> / <returns>裝載成功返回True;失敗返回False</returns> public static Boolean ReadFileString(Str
37、ing filename, out List<String> filestring) filestring = new List<String>(); Int32 filelen = GetFileLength(filename); if (filelen < 1) return false; String ret = File.ReadAllLines(filename, Encoding.Default); if (ret != null) && (ret.Length > 0) filestring.AddRange(ret); ret
38、urn true; / <summary> / 保存文本到文件 / </summary> / <param name="filename">文件名</param> / <param name="filestring">文件內容</param> / <returns>保存成功返回True;失敗返回False</returns> public static Boolean WriteFileString(String filename, List<Strin
39、g> filestring) if (filestring = null) | (filestring.Count < 1) return false; String dir = GetDirectoryName(filename); if (!Directory.Exists(dir) Directory.CreateDirectory(dir); /先刪除當前文件 if (File.Exists(filename) File.Delete(filename); String strary = filestring.ToArray(); File.WriteAllLines(fi
40、lename, strary, Encoding.Default); return true; / <summary> / 保存文本到文件 / </summary> / <param name="filename">文件名</param> / <param name="filestring">文件內容</param> / <returns>保存成功返回True;失敗返回False</returns> public static Boolean WriteFil
41、eString(String filename, String filestring) String dir = GetDirectoryName(filename); if (!Directory.Exists(dir) Directory.CreateDirectory(dir); /先刪除當前文件 if (File.Exists(filename) File.Delete(filename); File.WriteAllText(filename, filestring, Encoding.Default); return true; / <summary> / 讀取文件里所
42、有內容到字節數組里 / </summary> / <param name="filename">文件名</param> / <param name="filedata">目標緩沖區</param> / <returns>裝載成功返回True;失敗返回False</returns> public static Boolean ReadFileBytes(String filename, out Byte filedata) filedata = null; Int32 fi
43、lelen = GetFileLength(filename); if (filelen < 1) return false; filedata = File.ReadAllBytes(filename); return true; / <summary> / 把字節數組寫入文件里.該文件如果存在,則先刪除 / </summary> / <param name="filename">文件名,帶完整路徑</param> / <param name="filedata">文件內容數據</
44、param> / <returns></returns> public static Boolean WriteFileBytes(String filename, Byte filedata) if (filedata = null) | (filedata.Length < 1) MessageProcessor.EX("文件內容不能為空"); String dir = GetDirectoryName(filename); if (!Directory.Exists(dir) Directory.CreateDirectory(dir); /先刪除當前文件 if (File.Exists(filename) File.Delete(filename); /再創建新文件 File.WriteAllBytes(filename, filedata); return true; / <summary> / 把數據寫入文件里指定位置 / </summary>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腫瘤診療中的精準醫療技術2025年臨床應用效果分析報告001
- 安全檢查試題及答案
- 農村一二三產業融合對農村生態環境保護的法律法規保障研究報告
- 醫護合理用藥培訓課件
- 2025屆浙江省杭州市文瀾中學七年級英語第二學期期中經典試題含答案
- 中國養老教學課件
- 公文培訓課件
- 旅行社掃黑除惡培訓課件
- 中國佛教發展史
- 個案護理查房技巧
- 貴州大方富民村鎮銀行股份有限公司(籌)招聘上岸提分題庫3套【500題帶答案含詳解】
- GB/T 5470-2008塑料沖擊法脆化溫度的測定
- GB/T 40998-2021變性淀粉中羥丙基含量的測定分光光度法
- GB/T 31848-2015汽車貼膜玻璃貼膜要求
- 圖書管理系統畢業論文參考文獻精選,參考文獻
- 中國當代舊體詩選讀幻燈片
- 吉林省全省市縣鄉鎮衛生院街道社區衛生服務中心基本公共衛生服務醫療機構信息名單目錄995家
- 倔強的小紅軍-精講版課件
- 信息隱藏與數字水印課件(全)全書教學教程完整版電子教案最全幻燈片
- 公開招聘社區居委專職工作人員考試筆試、面試題集及相關知識(11套試題含答案)
- 中職數學基礎模塊下冊《等差數列》ppt說課稿
評論
0/150
提交評論