zoukankan
html css js c++ java
C#中的文件操作 (一)
C#追加文件
StreamWriter sw
=
File.AppendText(Server.MapPath(
"
.
"
)
+
"
\\myText.txt
"
);
sw.WriteLine(
"
追逐理想
"
);
sw.WriteLine(
"
kzlll
"
);
sw.WriteLine(
"
.NET笔记
"
);
sw.Flush();
sw.Close();
C#拷贝文件
string
OrignFile,NewFile;
OrignFile
=
Server.MapPath(
"
.
"
)
+
"
\\myText.txt
"
;
NewFile
=
Server.MapPath(
"
.
"
)
+
"
\\myTextCopy.txt
"
;
File.Copy(OrignFile,NewFile,
true
);
C#删除文件
string
delFile
=
Server.MapPath(
"
.
"
)
+
"
\\myTextCopy.txt
"
;
File.Delete(delFile);
C#移动文件
string
OrignFile,NewFile;
OrignFile
=
Server.MapPath(
"
.
"
)
+
"
\\myText.txt
"
;
NewFile
=
Server.MapPath(
"
.
"
)
+
"
\\myTextCopy.txt
"
;
File.Move(OrignFile,NewFile);
C#创建目录
//
创建目录c:\sixAge
DirectoryInfo d
=
Directory.CreateDirectory(
"
c:\\sixAge
"
);
//
d1指向c:\sixAge\sixAge1
DirectoryInfo d1
=
d.CreateSubdirectory(
"
sixAge1
"
);
//
d2指向c:\sixAge\sixAge1\sixAge1_1
DirectoryInfo d2
=
d1.CreateSubdirectory(
"
sixAge1_1
"
);
//
将当前目录设为c:\sixAge
Directory.SetCurrentDirectory(
"
c:\\sixAge
"
);
//
创建目录c:\sixAge\sixAge2
Directory.CreateDirectory(
"
sixAge2
"
);
//
创建目录c:\sixAge\sixAge2\sixAge2_1
Directory.CreateDirectory(
"
sixAge2\\sixAge2_1
"
);
递归删除文件夹及文件
<%
@ Page Language
=
C#
%>
<%
@ Import
namespace
=
"
System.IO
"
%>
<
Script runat
=
server
>
public
void
DeleteFolder(
string
dir)
{
if
(Directory.Exists(dir))
//
如果存在这个文件夹删除之
{
foreach
(
string
d
in
Directory.GetFileSystemEntries(dir))
{
if
(File.Exists(d))
File.Delete(d);
//
直接删除其中的文件
else
DeleteFolder(d);
//
递归删除子文件夹
}
Directory.Delete(dir);
//
删除已空文件夹
Response.Write(dir
+
"
文件夹删除成功
"
);
}
else
Response.Write(dir
+
"
该文件夹不存在
"
);
//
如果文件夹不存在则提示
}
protected
void
Page_Load (Object sender ,EventArgs e)
{
string
Dir
=
"
D:\\gbook\\11
"
;
DeleteFolder(Dir);
//
调用函数删除文件夹
}
//
======================================================
//
实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面
//
如果目标文件夹为只读属性就会报错。
//
April 18April2005 In STU
//
======================================================
public
static
void
CopyDir(
string
srcPath,
string
aimPath)
{
try
{
//
检查目标目录是否以目录分割字符结束如果不是则添加之
if
(aimPath[aimPath.Length
-
1
]
!=
Path.DirectorySeparatorChar)
aimPath
+=
Path.DirectorySeparatorChar;
//
判断目标目录是否存在如果不存在则新建之
if
(
!
Directory.Exists(aimPath)) Directory.CreateDirectory(aimPath);
//
得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
//
如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
//
string[] fileList = Directory.GetFiles(srcPath);
string
[] fileList
=
Directory.GetFileSystemEntries(srcPath);
//
遍历所有的文件和目录
foreach
(
string
file
in
fileList)
{
//
先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if
(Directory.Exists(file))
CopyDir(file,aimPath
+
Path.GetFileName(file));
//
否则直接Copy文件
else
File.Copy(file,aimPath
+
Path.GetFileName(file),
true
);
}
}
catch
(Exception e)
{
MessageBox.Show (e.ToString());
}
}
//
======================================================
//
实现一个静态方法将指定文件夹下面的所有内容Detele
//
测试的时候要小心操作,删除之后无法恢复。
//
April 18April2005 In STU
//
======================================================
public
static
void
DeleteDir(
string
aimPath)
{
try
{
//
检查目标目录是否以目录分割字符结束如果不是则添加之
if
(aimPath[aimPath.Length
-
1
]
!=
Path.DirectorySeparatorChar)
aimPath
+=
Path.DirectorySeparatorChar;
//
得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
//
如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
//
string[] fileList = Directory.GetFiles(aimPath);
string
[] fileList
=
Directory.GetFileSystemEntries(aimPath);
//
遍历所有的文件和目录
foreach
(
string
file
in
fileList)
{
//
先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
if
(Directory.Exists(file))
{
DeleteDir(aimPath
+
Path.GetFileName(file));
}
//
否则直接Delete文件
else
{
File.Delete (aimPath
+
Path.GetFileName(file));
}
}
//
删除文件夹
System.IO .Directory .Delete (aimPath,
true
);
}
catch
(Exception e)
{
MessageBox.Show (e.ToString());
}
}
需要引用命名空间:
using
System.IO;
/**/
///
<summary>
///
拷贝文件夹(包括子文件夹)到指定文件夹下,源文件夹和目标文件夹均需绝对路径. 格式: CopyFolder(源文件夹,目标文件夹);
///
</summary>
///
<param name="strFromPath"></param>
///
<param name="strToPath"></param>
//
--------------------------------------------------
//
作者:明天去要饭 QQ:305725744
//
---------------------------------------------------
public
static
void
CopyFolder(
string
strFromPath,
string
strToPath)
{
//
如果源文件夹不存在,则创建
if
(
!
Directory.Exists(strFromPath))
{
Directory.CreateDirectory(strFromPath);
}
//
取得要拷贝的文件夹名
string
strFolderName
=
strFromPath.Substring(strFromPath.LastIndexOf(
"
\\
"
)
+
1
,strFromPath.Length
-
strFromPath.LastIndexOf(
"
\\
"
)
-
1
);
//
如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件夹
if
(
!
Directory.Exists(strToPath
+
"
\\
"
+
strFolderName))
{
Directory.CreateDirectory(strToPath
+
"
\\
"
+
strFolderName);
}
//
创建数组保存源文件夹下的文件名
string
[] strFiles
=
Directory.GetFiles(strFromPath);
//
循环拷贝文件
for
(
int
i
=
0
;i
<
strFiles.Length;i
++
)
{
//
取得拷贝的文件名,只取文件名,地址截掉。
string
strFileName
=
strFiles[i].Substring(strFiles[i].LastIndexOf(
"
\\
"
)
+
1
,strFiles[i].Length
-
strFiles[i].LastIndexOf(
"
\\
"
)
-
1
);
//
开始拷贝文件,true表示覆盖同名文件
File.Copy(strFiles[i],strToPath
+
"
\\
"
+
strFolderName
+
"
\\
"
+
strFileName,
true
);
}
//
创建DirectoryInfo实例
DirectoryInfo dirInfo
=
new
DirectoryInfo(strFromPath);
//
取得源文件夹下的所有子文件夹名称
DirectoryInfo[] ZiPath
=
dirInfo.GetDirectories();
for
(
int
j
=
0
;j
<
ZiPath.Length;j
++
)
{
//
获取所有子文件夹名
string
strZiPath
=
strFromPath
+
"
\\
"
+
ZiPath[j].ToString();
//
把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝
CopyFolder(strZiPath,strToPath
+
"
\\
"
+
strFolderName);
}
}
查看全文
相关阅读:
css3 径向渐变
进度条-线性渐变
echars 图表提示框自定义显示
Android Ndef Message解析
android 应用程序记录AAR
android的nfc卡模拟开发
《NFC开发实战详解》笔记
1、Altium Designer 入门
Stm32之通用定时器复习
external与static的用法
原文地址:https://www.cnblogs.com/ghd258/p/272293.html
最新文章
maven工程搭建
jQuery
DOM
JavaScript
19.sqlalchemy ORM操作数据库
python 启动蜂鸣器
18.redis细细讲来
17.Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
16.redis缓存数据库
16.数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sqlachemy学习
热门文章
[刘阳Java]_什么是MyBatis_第1讲
初做“程序猿”的迷茫
inline-block的兼容性问题
css 兼容性
css3 animation之positon
css3 tansform transiton animation
css3 transform: rotate()
css3 animation之box-shaow
css3动画-animation之rotate
css线性渐变 位置问题
Copyright © 2011-2022 走看看