public void 修改真實檔案日期() { var executingAssembly = Assembly.GetExecutingAssembly(); var rootFolderPath = Path.GetDirectoryName(executingAssembly.Location); var subFolder = "TestFolder"; var content = "This is test string"; if (Directory.Exists(subFolder) == false) { Directory.CreateDirectory(subFolder); } for (var i = 0; i < 5; i++) { var filePath = Path.Combine(rootFolderPath, subFolder, $"{i}.txt"); var contentBytes = Encoding.UTF8.GetBytes($"{i}.{content}"); File.WriteAllBytes(filePath, contentBytes); } //修改日期 for (var i = 0; i < 5; i++) { var filePath = Path.Combine(rootFolderPath, subFolder, $"{i}.txt"); File.SetCreationTime(filePath, new DateTime(2021, 1, 1)); File.SetLastWriteTime(filePath, new DateTime(2021, 1, 1)); File.SetLastAccessTime(filePath, new DateTime(2021, 1, 1)); } //刪除檔案 using var fileSystem = new Lexical.FileSystem.FileSystem(rootFolderPath); fileSystem.Delete(Path.Combine(subFolder), true); }
private static void CreateTestFile1(string folderPath, string content) { var executingAssembly = Assembly.GetExecutingAssembly(); var rootPath = Path.GetDirectoryName(executingAssembly.Location); using (var folder = new Lexical.FileSystem.FileSystem(rootPath)) { if (folder.Exists(folderPath) == false) { folder.CreateDirectory(folderPath); } } using (var folder = new Lexical.FileSystem.FileSystem($"{rootPath}\\{folderPath}")) { for (var i = 0; i < 5; i++) { var filePath = $"{i}.txt"; var contentBytes = Encoding.UTF8.GetBytes($"{i}.{content}"); folder.CreateFile(filePath, contentBytes); } folder.PrintTo(Console.Out); } }
private static Lexical.FileSystem.FileSystem CreateTestFile(string rootFolder, string subFolder, string content) { var fileSystem = new Lexical.FileSystem.FileSystem(rootFolder); if (fileSystem.Exists(subFolder) == false) { fileSystem.CreateDirectory(subFolder); } for (var i = 0; i < 5; i++) { var filePath = Path.Combine(rootFolder, subFolder, $"{i}.txt"); var contentBytes = Encoding.UTF8.GetBytes($"{i}.{content}"); fileSystem.CreateFile(filePath, contentBytes); } var now = DateTime.UtcNow.AddDays(-30); for (var i = 0; i < 5; i++) { var filePath = Path.Combine(rootFolder, subFolder, $"{i}.txt"); File.SetLastWriteTime(filePath, now); File.SetLastAccessTime(filePath, now); File.SetCreationTime(filePath, now); } return(fileSystem); }
public void 列舉根路徑內的子資料夾() { var executingAssembly = Assembly.GetExecutingAssembly(); var rootPath = Path.GetDirectoryName(executingAssembly.Location); var subPath = "TestFolder"; var subPath1 = $"{subPath}/1"; var subPath1_1 = $"{subPath}/1/1_1"; var subPath1_1_1 = $"{subPath}/1/1_1/1_1_1"; var subPath2 = $"{subPath}/2"; var content = "This is test string"; var contentBytes = Encoding.UTF8.GetBytes(content); Lexical.FileSystem.FileSystem fileSystem = null; try { fileSystem = new Lexical.FileSystem.FileSystem(rootPath); if (fileSystem.Exists(subPath1_1_1) == false) { fileSystem.CreateDirectory(subPath1_1_1); } if (fileSystem.Exists(subPath2) == false) { fileSystem.CreateDirectory(subPath2); } var file1 = $"{subPath1_1}/1_1.text"; if (fileSystem.Exists(file1) == false) { fileSystem.CreateFile(file1, contentBytes); } var file2 = Path.Combine(rootPath, subPath1_1_1, "1_1_1.txt"); if (fileSystem.Exists(file2) == false) { using var stream = fileSystem.Open(file2, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); stream.Write(contentBytes, 0, contentBytes.Length); } fileSystem.PrintTo(Console.Out, subPath); foreach (var entry in fileSystem.Browse(subPath)) { var path = entry.Path; Console.WriteLine(path); } } finally { if (fileSystem != null) { //還原 fileSystem.Delete(subPath, true); fileSystem.Dispose(); } } }
public void 建立資料夾() { var executingAssembly = Assembly.GetExecutingAssembly(); var rootPath = Path.GetDirectoryName(executingAssembly.Location); var subPath = "TestFolder"; var subPath1 = $"{subPath}/1"; var subPath1_1 = $"{subPath}/1/1_1"; var subPath1_1_1 = $"{subPath}/1/1_1/1_1_1"; var subPath2 = $"{subPath}/2"; var content = "This is test string"; Lexical.FileSystem.FileSystem fileSystem = null; try { fileSystem = new Lexical.FileSystem.FileSystem(rootPath); if (fileSystem.Exists(subPath1_1_1) == false) { fileSystem.CreateDirectory(subPath1_1_1); } if (fileSystem.Exists(subPath1_1) == false) { fileSystem.CreateDirectory(subPath1_1); } if (fileSystem.Exists(subPath1) == false) { fileSystem.CreateDirectory(subPath1); } if (fileSystem.Exists(subPath2) == false) { fileSystem.CreateDirectory(subPath2); } fileSystem.PrintTo(Console.Out, subPath); } finally { if (fileSystem != null) { //還原 fileSystem.Delete(subPath, true); fileSystem.Dispose(); } } }
private static Lexical.FileSystem.FileSystem CreateFolder(string rootPath, string subPath) { var subPath1 = $"{subPath}/1"; var subPath1_1 = $"{subPath}/1/1_1"; var subPath1_1_1 = $"{subPath}/1/1_1/1_1_1"; var subPath2 = $"{subPath}/2"; var content = "This is test string"; var contentBytes = Encoding.UTF8.GetBytes(content); var fileSystem = new Lexical.FileSystem.FileSystem(rootPath); if (fileSystem.Exists(subPath1_1_1) == false) { fileSystem.CreateDirectory(subPath1_1_1); } if (fileSystem.Exists(subPath2) == false) { fileSystem.CreateDirectory(subPath2); } var file1 = $"{subPath1_1}/1_1.text"; if (fileSystem.Exists(file1) == false) { fileSystem.CreateFile(file1, contentBytes); } var file2 = Path.Combine(rootPath, subPath1_1_1, "1_1_1.txt"); if (fileSystem.Exists(file2) == false) { using var stream = fileSystem.Open(file2, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); stream.Write(contentBytes, 0, contentBytes.Length); } return(fileSystem); }