您好,登錄后才能下訂單哦!
Flile類的常用方法
序號 |
方法 |
說明 |
1 |
Exists(string Path) |
用于檢查指定文件是否存在,該方法返回一個布爾值 |
2 |
Copy(string SourceFilePath,string DestinationFilePath) |
將指定路徑的源文件中的內容復制到目標文件中,如果目標文件不存在,則在指定路徑中新建一個文件 |
3 |
Move(string sourceFileName,string destFileName) |
將指定文件移到一個新的路徑 |
4 |
Delete(string path) |
刪除指定的文件,如果指定的文件不存在,則不引發異常 |
Directory類的常用方法
序號 |
方法 |
說明 |
1 |
Exists(string path) |
用于堅持指定的文件夾在磁盤上是否存在 |
2 |
Move(string sourceDirName,string DestDirName) |
用于將文件或目錄及其內容移到新位置 |
3 |
Delete(string,bool) |
刪除指定目錄,如果bool值為true,則刪除子目錄中的所有目錄內容 |
例:
代碼:
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "全部文件 *.*|*.*";
openFileDialog1.FileName = "全部文件";
openFileDialog1.ShowDialog();
this.textBox1.Text = openFileDialog1.FileName;
}
private void button2_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "全部文件 *.*|*.*";
openFileDialog1.FileName = "全部文件";
openFileDialog1.ShowDialog();
this.textBox2.Text = openFileDialog1.FileName;
}
//復制文件
private void button3_Click(object sender, EventArgs e)
{
if (!File.Exists(this.textBox1.Text))
{
MessageBox.Show("文件不存在");
}
else
{
File.Copy(this.textBox1.Text, this.textBox2.Text);
MessageBox.Show("拷貝成功");
}
}
//移動文件
private void button4_Click(object sender, EventArgs e)
{
if (!File.Exists(this.textBox1.Text))
{
MessageBox.Show("文件不存在");
}
else
{
File.Move(this.textBox1.Text, this.textBox2.Text);
MessageBox.Show("移動成功");
}
}
//刪除文件
private void button5_Click(object sender, EventArgs e)
{
if (!File.Exists(this.textBox1.Text))
{
MessageBox.Show("文件不存在");
}
else
{
File.Delete(this.textBox1.Text);
MessageBox.Show("刪除成功");
}
}
FileInfo類的屬性和方法
屬性 |
說明 |
Exists |
用于檢查指定文件是否存在,返回一個bool值 |
Extension |
獲取表示文件擴展命名部分的字符串 |
Name |
獲取文件名 |
FullName |
獲取目錄或文件的完整目錄 |
方法 |
說明 |
CopyTo(string) |
將現有文件復制到新文件,不允許覆蓋現有文件 |
Delete() |
永久刪除文件 |
MoveTo(string) |
將指定文件移到新位置(string) |
例:
DirectoryInfo di = new DirectoryInfo("D:\testDir");
//返回當前目錄的子目錄
DirectoryInfo[] subDir = di.GetDirectories();
//返回當前目錄的文件列表
FileInfo[] fi = di.GetFiles();
步驟:
1.引入命名空間:using System.Runtime.Serialization.Formatters.Binary;
2.在SavingInfo、Remind等類的頭部加一個標記[Serializable],例如:
[Serializable]
Public class SavingInfo
{
//..............
}
3.編寫Save()方法和Load()方法,例如:
//序列化方法
public void Save()
{
//定義文件流
FileStream fs = new FileStream(@"files\save.bin", FileMode.Create);
//二進制方式
BinaryFormatter bf = new BinaryFormatter();
//序列化存儲對象
bf.Serialize(this.listArrays);
//關閉文件流
fs.Close();
}
//反序列化方法
public void Load()
{
//省略判斷文件是否存在
FileStream fs = new FileStream(@"files\save.bin",FileMode.Open);
BinaryFormatter bf=new BinaryFormatter();
//反序列化
this.lisArrays = (SavingInfo)bf.Deserialize(fs);
fs.Close();
}
注:Deserialize()方法將存儲介質的數據文件流轉換為object類型。
不想序列化的屬性在其頭部加上[NonSerialized]標記即可。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。