コード例 #1
0
ファイル: TaskLogic.cs プロジェクト: gabest11/nsZip
        public void UntrimAndEncrypt(Keyset keyset)
        {
            FolderTools.ExtractTitlekeys(decryptedDir, keyset, Out);

            var decryptedFs = new LocalFileSystem(decryptedDir);
            var encryptedFs = new LocalFileSystem(encryptedDir);

            EncryptNCA.Encrypt(decryptedFs, encryptedFs, VerifyHashes, keyset, Out);

            var dirDecrypted = new DirectoryInfo(decryptedDir);

            foreach (var file in decryptedFs.EnumerateEntries()
                     .Where(item => item.Type == DirectoryEntryType.File && !item.Name.EndsWith(".tca")))
            {
                if (!file.Name.EndsWith(".nca"))
                {
                    using (var srcFile = decryptedFs.OpenFile(file.FullPath, OpenMode.Read))
                        using (var destFile = FolderTools.CreateAndOpen(file, encryptedFs, file.Name, file.Size))
                        {
                            srcFile.CopyTo(destFile);
                        }
                }

                decryptedFs.DeleteFile(file.FullPath);
            }

            UntrimDeltaNCA.Process(decryptedDir, encryptedFs, keyset, Out);
            EncryptNCA.Encrypt(decryptedFs, encryptedFs, VerifyHashes, keyset, Out);
        }
コード例 #2
0
        public void CopyFileTest()
        {
            var FoundFiles = LocalFileSystem.FindFiles("/Mounted/DirectoryOnMountedFileSystem", "*.dat");

            var SourcePath      = "/Mounted/DirectoryOnMountedFileSystem/1.txt";
            var DestinationPath = "/Mounted/DirectoryOnMountedFileSystem/10.bin";

            try
            {
                LocalFileSystem.DeleteFile(DestinationPath);
            }
            catch
            {
            }

            LocalFileSystem.CopyFile(SourcePath, DestinationPath);

            Assert.AreEqual(
                LocalFileSystem.GetFileInfo(SourcePath).Size,
                LocalFileSystem.GetFileInfo(DestinationPath).Size
                );

            LocalFileSystem.DeleteFile(DestinationPath);
        }