디스크 파일 운영 관리
7086 단어 서류
class FileOperations
{
/// <summary>
///
/// </summary>
/// <param name="path"> </param>
/// <returns></returns>
public static bool IsHidden(string path)
{
FileAttributes MyAttributes = File.GetAttributes(path);
string MyFileType = MyAttributes.ToString();
if (MyFileType.LastIndexOf("Hidden") != -1) //
{
return true;
}
else
return false;
}
///<summary>
///
///</summary>
///<param name="targetDir"></param>
public static void CreateDirectory(string targetDir)
{
DirectoryInfo dir = new DirectoryInfo(targetDir);
if (!dir.Exists)
dir.Create();
}
///<summary>
///
///</summary>
///<param name="targetDir"> </param>
///<param name="delSubDir"> true, </param>
public static void DeleteFiles(string targetDir, bool delSubDir)
{
foreach (string fileName in Directory.GetFiles(targetDir))
{
File.SetAttributes(fileName, FileAttributes.Normal);
File.Delete(fileName);
}
if (delSubDir)
{
DirectoryInfo dir = new DirectoryInfo(targetDir);
foreach (DirectoryInfo subDi in dir.GetDirectories())
{
DeleteFiles(subDi.FullName, true);
subDi.Delete();
}
}
}
///<summary>
/// ,
///</summary>
///<param name="targetDir"> </param>
public static void DeleteSubDirectory(string targetDir)
{
foreach (string subDir in Directory.GetDirectories(targetDir))
{
DeleteDirectory(subDir);
}
}
///<summary>
/// ,
///</summary>
///<param name="targetDir"> </param>
public static void DeleteDirectory(string targetDir)
{
DirectoryInfo dirInfo = new DirectoryInfo(targetDir);
if (dirInfo.Exists)
{
DeleteFiles(targetDir, true);
dirInfo.Delete(true);
}
}
///<summary>
///
///</summary>
///<param name="sourceDir"> </param>
///<param name="targetDir"> </param>
///<param name="overWrite"> true, , </param>
///<param name="moveSubDir"> true, , </param>
public static void MoveFiles(string sourceDir, string targetDir, bool overWrite, bool moveSubDir)
{
//
foreach (string sourceFileName in Directory.GetFiles(sourceDir))
{
string targetFileName = Path.Combine(targetDir, sourceFileName.Substring(sourceFileName.LastIndexOf("\\") + 1));
if (File.Exists(targetFileName))
{
if (overWrite == true)
{
File.SetAttributes(targetFileName, FileAttributes.Normal);
File.Delete(targetFileName);
File.Move(sourceFileName, targetFileName);
}
}
else
{
File.Move(sourceFileName, targetFileName);
}
}
if (moveSubDir)
{
foreach (string sourceSubDir in Directory.GetDirectories(sourceDir))
{
string targetSubDir = Path.Combine(targetDir, sourceSubDir.Substring(sourceSubDir.LastIndexOf("\\") + 1));
if (!Directory.Exists(targetSubDir))
Directory.CreateDirectory(targetSubDir);
MoveFiles(sourceSubDir, targetSubDir, overWrite, true);
Directory.Delete(sourceSubDir);
}
}
}
///<summary>
///
///</summary>
///<param name="sourceDir"> </param>
///<param name="targetDir"> </param>
///<param name="overWrite"> true, , </param>
///<param name="copySubDir"> true, , </param>
public static void CopyFiles(string sourceDir, string targetDir, bool overWrite, bool copySubDir)
{
//
foreach (string sourceFileName in Directory.GetFiles(sourceDir))
{
string targetFileName = Path.Combine(targetDir, sourceFileName.Substring(sourceFileName.LastIndexOf("\\") + 1));
if (File.Exists(targetFileName))
{
if (overWrite == true)
{
File.SetAttributes(targetFileName, FileAttributes.Normal);
File.Copy(sourceFileName, targetFileName, overWrite);
}
}
else
{
File.Copy(sourceFileName, targetFileName, overWrite);
}
}
//
if (copySubDir)
{
foreach (string sourceSubDir in Directory.GetDirectories(sourceDir))
{
string targetSubDir = Path.Combine(targetDir, sourceSubDir.Substring(sourceSubDir.LastIndexOf("\\") + 1));
if (!Directory.Exists(targetSubDir))
Directory.CreateDirectory(targetSubDir);
CopyFiles(sourceSubDir, targetSubDir, overWrite, true);
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SF:alesforce에서 파일을 업로드하는 수신 객체*document에 folderId를 지정해야 합니다. private Document document = new Document(); public Document getDocument(){ return documen...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.