using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; namespace ReadLog.Public
{
public class FileHelper
{
string[] format = { "*.jpg", "*.doc", "*.exe", "*.pdf", "*.xls" };
#region 讀取文件 +string ReadFile(string path)
/// <summary>
/// 讀取文件
/// </summary>
/// <param name="path">文件路徑</param>
public string ReadFile(string path)
{
//FileStream sFile = new FileStream(path, FileMode.Open);
//byte[] byData = new byte[sFile.Length];
//sFile.Read(byData, 0, byData.Length);
//string fileContent = System.Text.Encoding.UTF8.GetString(byData);
//return fileContent;
string content = String.Empty;
StreamReader reader = new StreamReader(path, GetFileEncodeType(path));
return reader.ReadToEnd();
}
#endregion #region 删除文件夹下面所有文件 void deleteAll(string delpath, string geshi)
/// <summary>
/// 删除文件夹下面所有文件
/// </summary>
/// <param name="oldpngPath">待删除文件路径</param>
/// <param name="newpngPath">删除到的新目录</param>
/// <param name="geshi">操作文件的格式 例如:*.png、*.xml</param>
public void deleteAll(string delpath, string geshi)
{
string[] files = Directory.GetFiles(delpath, geshi);
foreach (string file in files)
{
File.Delete(file);
}
}
#endregion #region 複製文件夹下面所有文件 +void copyALl(string oldpngPath, string newpngPath, string geshi)
/// <summary>
/// 複製文件夹下面所有文件
/// </summary>
/// <param name="oldpngPath">待复制文件路径</param>
/// <param name="newpngPath">复制到的新目录</param>
/// <param name="geshi">操作文件的格式 例如:*.png、*.xml</param>
public void copyALl(string oldpngPath, string newpngPath, string geshi)
{
string[] files = Directory.GetFiles(oldpngPath, geshi);
foreach (string file in files)
{
string otherFile = Path.Combine(oldpngPath, Path.GetFileName(file));
File.Copy(file, newpngPath + "\\" + Path.GetFileName(file));
}
}
#endregion #region 移动文件夹下的所有文件 void moveAll(string olderpath, string topath)
/// <summary>
/// 移动文件夹下的所有文件
/// </summary>
/// <param name="olderpath">待移动的文件目录</param>
/// <param name="topath">新目录</param>
public void moveAll(string olderpath, string topath)
{
string[] files = Directory.GetFiles(olderpath, format[]);
foreach (string file in files)
{
File.Move(file, topath); //移动文件
}
}
#endregion #region 獲取一個文件夾下面所有文件 +string[] GetAllFiles(string path, string geshi)
/// <summary>
/// 獲取一個文件夾下面所有文件
/// </summary>
/// <param name="path"></param>
/// <param name="geshi">文件類型</param>
/// <returns></returns>
public string[] GetAllFiles(string path, string geshi)
{
string[] files = Directory.GetFiles(path, geshi);
return files;
}
#endregion #region 複製單個文件 + void copyOneFile(string oldfilePath, string newfilePath)
/// <summary>
/// 複製單個文件
/// </summary>
/// <param name="oldfilePath">文件原來的全路徑</param>
/// <param name="newfilePath">文件新的全路徑</param>
public void copyOneFile(string oldfilePath, string newfilePath, string newFileName)
{
if (!Directory.Exists(newfilePath))
{
Directory.CreateDirectory(newfilePath);
}
File.Copy(oldfilePath, newfilePath + newFileName); }
#endregion #region 移動一個文件 + void MoveOneFile(string oldfilePath, string newfilePath)
/// <summary>
/// 移動一個文件
/// </summary>
/// <param name="oldfilePath">文件原來的全路徑</param>
/// <param name="newfilePath">文件新的全路徑</param>
public void MoveOneFile(string oldfilePath, string newfilePath, string newFileName)
{
if (!Directory.Exists(newfilePath))
{
Directory.CreateDirectory(newfilePath);
}
File.Move(oldfilePath, newfilePath + newFileName); }
#endregion #region 刪除一個文件 +void DeleteOneFile(string oldfilePath)
/// <summary>
/// 刪除一個文件
/// </summary>
/// <param name="oldfilePath">文件路徑</param>
public void DeleteOneFile(string oldfilePath)
{ File.Delete(oldfilePath); }
#endregion #region 讀取目錄的時候進行的提示
public void ReadFileLogOnly(string path)
{
Console.WriteLine(string.Format("正在進入{0}目錄中", path));
if (!Directory.Exists(path))
{
Console.WriteLine(String.Format("文件目錄{0}不存在", path));
//return;
//Directory.CreateDirectory(erpLogPath);
}
else
{
Console.WriteLine(String.Format("文件目錄{0}訪問正常", path));
}
}
public void ReadFileLogAndCreate(string path)
{
Console.WriteLine(string.Format("正在進入{0}目錄", path));
if (!Directory.Exists(path))
{
Console.WriteLine(String.Format("文件目錄{0}不存在,正在進行創建", path)); Directory.CreateDirectory(path);
Console.WriteLine(String.Format("文件目錄{0}創建成功", path));
}
else
{
Console.WriteLine(String.Format("文件目錄{0}訪問正常", path));
}
}
#endregion #region 獲取問價的編碼方式 +System.Text.Encoding GetFileEncodeType(string filename)
/// <summary>
/// 獲取問價的編碼方式
/// </summary>
/// <param name="filename">文件路徑</param>
/// <returns>文件的編碼方式</returns>
public System.Text.Encoding GetFileEncodeType(string filename)
{
System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
Byte[] buffer = br.ReadBytes();
if (buffer[] >= 0xEF)
{
if (buffer[] == 0xEF && buffer[] == 0xBB)
{
return System.Text.Encoding.UTF8;
}
else if (buffer[] == 0xFE && buffer[] == 0xFF)
{
return System.Text.Encoding.BigEndianUnicode;
}
else if (buffer[] == 0xFF && buffer[] == 0xFE)
{
return System.Text.Encoding.Unicode;
}
else
{
return System.Text.Encoding.Default;
}
}
else
{
return System.Text.Encoding.Default;
} }
#endregion
}
}

最新文章

  1. NOIp 2014 #2 联合权值 Label:图论 !!!未AC
  2. Leetcode 102 Binary Tree Level Order Traversal 二叉树+BFS
  3. 38.输出1到最大的N位数[Print 1 to max number of N bits]
  4. Noise,Error,wighted pocket Algorithm
  5. 路由设置 windows
  6. careercup-C和C++ 13.8
  7. ☀【Zepto】touch events
  8. UVa11925 Generating Premutations
  9. 关于nginx架构探究(2)
  10. POJ3026(BFS + prim)
  11. Android_实现静默安装和卸载应用
  12. Eclipse常用热键
  13. json转js对象方法,JS对象转JSON方法
  14. vue关闭代码检查eslint
  15. python学习笔记5-字典
  16. zabbix回顾
  17. Dom,查找标签和操作标签
  18. 【C++】拷贝构造函数(深拷贝,浅拷贝)详解
  19. PHP 图片缩放类
  20. 正则表达式—RegEx(RegularExpressio)(一)

热门文章

  1. 《5天学会卡西欧fx-5800p之实操视频教程(初级)》目录和我的工作室现场曝光
  2. swift,NSUserDefaults的swift化封装
  3. [Note] Collaborator vs. the Factory
  4. 了解PHP中$_SERVER变量对路径的解析
  5. Chrome 调用vue.js 记录
  6. Java编程的逻辑 (75) - 并发容器 - 基于SkipList的Map和Set
  7. 非常有用的15个Linux 服务器监控命令
  8. 修改ie11的默认搜索引擎和主页
  9. 三篇文章了解 TiDB 技术内幕——说存储
  10. 即时通信(IM)和实时通信(RTC)的区别