C#文件處理函數集合_第1頁
C#文件處理函數集合_第2頁
C#文件處理函數集合_第3頁
C#文件處理函數集合_第4頁
C#文件處理函數集合_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論