Операции с файлами и папками - Операции с папками

искусственный интеллект
  1. Создать папку

Для создания папок в основном используется метод Create класса Directory.

  private void button1_Click(object sender, EventArgs e)

        {

FolderBrowserDialog FBDialog = new FolderBrowserDialog();//Создать объект FolderBrowserDialog

If (FBDialog.ShowDialog() == DialogResult.OK)//Определяем, выбирать ли папку

            {

String strPath = FBDialog.SelectedPath;//Записываем выбранную папку

                if (strPath.EndsWith("\"))

TextBox1.Text = strPath;//Показать выбранную папку

                else

                    textBox1.Text = strPath + "\";

            }

        }

        private void button2_Click(object sender, EventArgs e)

        {

DirectoryInfo DInfo = new DirectoryInfo(textBox1.Text + textBox2.Text);//Создаем объект DirectoryInfo

DInfo.Create();//Создаем папку

        }

  1. удалить папку

Идея: Удаление папки в основном использует метод Delete класса DirectoryInfo, синтаксис которого следующий:

public override void Delete();

public void Delete(bool recursive);

uploading.4e448015.gifНе удалось передатьперезагрузитьОтменаОписание параметра: если true, удалить папку, ее подпапки и все файлы, иначе false.

пример:

public partial class Frm_Main : Form

    {

        public Frm_Main()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

FolderBrowserDialog FBDialog = new FolderBrowserDialog();//Создать объект FolderBrowserDialog

If (FBDialog.ShowDialog() == DialogResult.OK)//Определяем, выбрана ли папка

TextBox1.Text = FBDialog.SelectedPath;//Показать выбранную папку

        }

        private void button2_Click(object sender, EventArgs e)

        {

DirectoryInfo DInfo = new DirectoryInfo(textBox1.Text);//Создаем объект DirectoryInfo

DInfo.Delete(true);//Удалить все содержимое папки

MessageBox.Show("Удаление папки успешно!");

        }

}

Примечание. Разница между классом Directory и классом DirectoryInfo: Directory — это статический класс, поэтому для его вызова требуется строковый параметр, указывающий путь к папке для каждого вызова метода, поэтому, если вы хотите сделать один вызов метода для объекта, вы можете использовать статический класс Directory, статический вызов в этом случае немного быстрее, потому что платформе .Net не нужно проходить процесс создания экземпляра объекта и вызова его методов. Если вы выполняете несколько операций с папкой, лучше создать объект DirectoryInfo и использовать его методы, это будет более эффективно, потому что объект ссылается на правильную папку в папке, тогда как статический класс должен искать ее каждый раз, когда папка .

  1. Получить все каталоги логического диска

Идея: Получить все логические разделы в компьютере, в основном, через метод GetLogicalDrives класса Directory, а затем получить все самоопросящиеся Jiajia и файлы в логическом разделе, через метод GetDirectories и метод GetFiles класса Directory.

(1), метод GetLogicalDrives: получение имени логического раздела на компьютере. Синтаксис следующий:

public static string[] GetLogicalDrivers()

(2), метод GetDirectories: этот метод используется для получения имени подпапки в указанной папке. Синтаксис следующий:

общедоступная статическая строка [] GetDirectries (строковый путь)

Описание параметра: путь — это путь, для которого возвращается массив имен вложенных папок.

Возвращаемое значение: массив типа String, содержащий имена подпапок в пути.

(3), метод GetFiles Этот метод возвращает имя файла в указанной папке. Синтаксис следующий:

public static string[] GetFiles(string path)

Описание параметра: путь к папке, из которой будут извлечены файлы

Возвращаемое значение: Строковый массив имен файлов в указанной папке.

пример:

public void listFolders(ToolStripComboBox tscb)//Получить каталог на локальном диске

        {

            string[] logicdrives = System.IO.Directory.GetLogicalDrives();

            for (int i = 0; i < logicdrives.Length; i++)

            {

                tscb.Items.Add(logicdrives[i]);

                tscb.SelectedIndex = 0;

            }

        }