Esempio n. 1
0
        /// <summary>
        /// Gets the qualified names of all the files of the directory and its subdirectories.
        /// </summary>
        /// <param name="directory">Directory where to perfom the search.</param>
        /// <param name="searchPattern">Search pattern to match in the filenames.</param>
        /// <param name="fileNames">Collection where the qualified names will be added.</param>
        private void GetPrivateFileNames(JDirectory directory, string searchPattern, Collection <string> fileNames)
        {
            foreach (JFile file in directory.GetFiles())
            {
                if (Match(searchPattern, file.Name, false))
                {
                    fileNames.Add(file.GetQualifiedName());
                }
            }

            foreach (JDirectory childDirectory in directory.GetDirectories())
            {
                directory.GetPrivateFileNames(childDirectory, searchPattern, fileNames);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Writes all <see cref="JFile"/> data into the storage file.
        /// </summary>
        /// <param name="directory">Root directory to start writing.</param>
        private void WriteFiles(JDirectory directory)
        {
            List <JFile>      files;
            List <JDirectory> directories;

            files = directory.GetFiles();
            foreach (JFile file in files)
            {
                WriteFile(file);
            }

            directories = directory.GetDirectories();
            foreach (JDirectory childDirectory in directories)
            {
                WriteFiles(childDirectory);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Writes all <see cref="JFile"/> headers in a directory and its subdirectories into the storage file.
        /// </summary>
        /// <param name="directory">Directory to start writing.</param>
        /// <param name="path">Path of the directory.</param>
        private void WriteFilesHeader(JDirectory directory, string path)
        {
            String            newPath;
            List <JFile>      files;
            List <JDirectory> directories;

            newPath = path + Path.DirectorySeparatorChar + directory.Name;

            files = directory.GetFiles();
            foreach (JFile file in files)
            {
                WriteFileHeader(file, newPath);
            }

            directories = directory.GetDirectories();
            foreach (JDirectory childDirectory in directories)
            {
                WriteFilesHeader(childDirectory, newPath);
            }
        }
Esempio n. 4
0
		/// <summary>
		/// Extracts the contents of one directory and all the subdirectories inside it
		/// </summary>
		/// <param name="path">Path to extract the contents</param>
		/// <param name="rootDirectory">Root directory where the extraction begins</param>
		private void ExtractDirectoryFiles(String path, JDirectory rootDirectory)
		{
			Stream inFile, outFile;
			BinaryWriter bw = null;
			byte[] bytes;
			int bytesRead;

			// If the path doesn't exist, create it
			if (!Directory.Exists(path))
				Directory.CreateDirectory(path);

			// For each file in the root node
			foreach (JFile file in rootDirectory.GetFiles())
			{
				try
				{
					// Create the new hard disk file
					outFile = File.Open(System.IO.Path.Combine(path, file.Name), FileMode.Create, FileAccess.Write);
					bw = new BinaryWriter(outFile);

					inFile = GetStream(file);

					// Write the storage data to it
					bytes = new byte[4096];
					while ((bytesRead = inFile.Read(bytes, 0, bytes.Length)) != 0)
						bw.Write(bytes, 0, bytesRead);

					bw.Flush();
				}

				catch (Exception)
				{ }

				finally
				{
					if (bw != null)
						bw.Close();
				}
			}

			foreach (JDirectory directory in rootDirectory.GetDirectories())
				ExtractDirectoryFiles(System.IO.Path.Combine(path, directory.Name), directory);
		}
Esempio n. 5
0
		/// <summary>
		/// Gets the qualified names of all the files of the directory and its subdirectories.
		/// </summary>
		/// <param name="directory">Directory where to perfom the search.</param>
		/// <param name="searchPattern">Search pattern to match in the filenames.</param>
		/// <param name="fileNames">Collection where the qualified names will be added.</param>
		private void GetPrivateFileNames(JDirectory directory, string searchPattern, Collection<string> fileNames)
		{
			foreach (JFile file in directory.GetFiles())
				if (Match(searchPattern, file.Name, false))
					fileNames.Add(file.GetQualifiedName());

			foreach (JDirectory childDirectory in directory.GetDirectories())
				directory.GetPrivateFileNames(childDirectory, searchPattern, fileNames);
		}
Esempio n. 6
0
		/// <summary>
		/// Writes all <see cref="JFile"/> data into the storage file.
		/// </summary>
		/// <param name="directory">Root directory to start writing.</param>
		private void WriteFiles(JDirectory directory)
		{
			List<JFile> files;
			List<JDirectory> directories;

			files = directory.GetFiles();
			foreach (JFile file in files)
				WriteFile(file);

			directories = directory.GetDirectories();
			foreach (JDirectory childDirectory in directories)
				WriteFiles(childDirectory);
		}
Esempio n. 7
0
		/// <summary>
		/// Writes all <see cref="JFile"/> headers in a directory and its subdirectories into the storage file.
		/// </summary>
		/// <param name="directory">Directory to start writing.</param>
		/// <param name="path">Path of the directory.</param>
		private void WriteFilesHeader(JDirectory directory, string path)
		{
			String newPath;
			List<JFile> files;
			List<JDirectory> directories;

			newPath = path + Path.DirectorySeparatorChar + directory.Name;

			files = directory.GetFiles();
			foreach (JFile file in files)
				WriteFileHeader(file, newPath);

			directories = directory.GetDirectories();
			foreach (JDirectory childDirectory in directories)
				WriteFilesHeader(childDirectory, newPath);
		}