- Создать папку
Для создания папок в основном используется метод 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();//Создаем папку
}
- удалить папку
Идея: Удаление папки в основном использует метод Delete класса DirectoryInfo, синтаксис которого следующий:
public override void Delete();
public void Delete(bool recursive);
Не удалось передатьперезагрузитьОтменаОписание параметра: если 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 и использовать его методы, это будет более эффективно, потому что объект ссылается на правильную папку в папке, тогда как статический класс должен искать ее каждый раз, когда папка .
- Получить все каталоги логического диска
Идея: Получить все логические разделы в компьютере, в основном, через метод 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;
}
}