C#如何在指定目录下创建文件

比如在相对路径下创建一个ini类型的文件user.ini

1、通过Path类的Combine方法可以合并路径。
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");

2、目录的创建。
创建目录时如果目录已存在,则不会重新创建目录,且不会报错。创建目录时会自动创建路径中各级不存在的目录。
(1)通过Directory类的CreateDirectory方法创建。
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

(1)通过DirectoryInfo的对象创建。
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\myDirTwo\mySubDirThree");
di.Create();

3、文件的创建。
通过Create方法创建文件,会覆盖同名的现有文件。创建文件时,该文件所在路径的目录必须存在,否则报错。
(1)通过File类的Create方法创建。

string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

//创建一个空白文件
string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")
+ ".txt";
string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);
System.IO.File.Create(filePathOne);

(2)通过FileInfo对象创建。

//通过Combine合并目录
//然后创建目录
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

//创建一个空白文件
string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")
+ ".txt";
string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);
System.IO.FileInfo fi = new System.IO.FileInfo(filePathOne);
fi.Create();

复制目录文件

//复制单个文件到指定目录
string fileName = "test.txt";
string sourcePath = @"C:\testDir\subTestDir";
string targetPath = @"C:\testDir\subTestDirTwo";

string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);

if (!System.IO.Directory.Exists(targetPath))
System.IO.Directory.CreateDirectory(targetPath);

//如果已存在,参数为false时将报错,参数为true重写该文件
//当copy方法为两个参数时,默认重写为false。
System.IO.File.Copy(sourceFile, destFile, true);

//以下为复制一个目录下所有文件到指定目录
//如果复制有子目录的目录的所有文件,可以用递归或堆栈算法实现
if (System.IO.Directory.Exists(sourcePath))
{
string[] files = System.IO.Directory.GetFiles(sourcePath);

foreach (string s in files)
{
//仅返回路径字符串的文件名及后缀
fileName = System.IO.Path.GetFileName(s);
destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(s, destFile, true);
}
}

}

移动目录和文件

/*移动文件*/
string sourceFile = @"C:\testDir\subTestDir\test.txt";
string destFile = @"C:\testDir\subTestDirTwo\test.txt";
//当目标文件存在时,抛出异常
System.IO.File.Move(sourceFile, destFile);

/*移动目录*/
//移动目录将移动改目录的子目录和文件
System.IO.Directory.Move(@"C:\testDir\subTestDirTwo\", @"C:\testDir\subTestDir");

删除目录和文件
1、删除目录
删除目录,如果该目录不存在,会抛出异常。可以通过File类的Delete方法删除目录,也可以通过FileInfo对象方法删除目录。
(1)通过 File类的Delete方法删除目录

//删除可写空目录
//如果不为空抛出目录不为空异常
try
{
System.IO.Directory.Delete(@"C:\testDir\subTestDir");
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

//第二参数为false时,只能删除空目录,否则抛出不为空异常
//第二参数为true时,删除目录,包括子目录和文件
try
{
System.IO.Directory.Delete(@"C:\testDir\subTestDir", true);
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

(2)通过FileInfo对象方法删除目录

System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\testDir\subTestDirTwo");
try
{
//无参数删除空目录
//当参数为false,可删除空目录;为true,删除目录,包括子目录和文件
di.Delete(true);
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

2、删除文件
删除文件时如果指定文件的目录存在,而文件不存在,则不会抛出异常,如果指定文件的目录不存在,则会抛出异常。
(1)通过File类Delete方法删除文件

try
{
System.IO.File.Delete(@"C:\testDir\subTestDir\test.txt");
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

(2)通过FileInfo对象Delete方法删除文件

System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\testDir\subTestDir\test1.txt");
try
{
fi.Delete();
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-22
using System.Runtime.InteropServices;

先引用API函数:

public class API
{
[DllImport("kernel32")]
private static extern bool WritePrivateProfileString(string section, string key, string val, string filePath);
public bool IniWriteValue(string section, string key, string val, string filePath)
{
return WritePrivateProfileString(section, key, val, filePath);
}
}

比如在Button单击时间中使用:(这里是在应用程序根目录创建)
string filepath = Application.StartupPath + "\\user.ini";
API INI = new API();
INI.IniWriteValue("节点", "关键字", "关键字的内容", filepath);本回答被提问者采纳
第2个回答  2009-04-02
path文件路径(如:D://新建文件夹(1))
string loadpath=path+"项目文件";
DirectoryInfo dir=new DirectoryInfo(loadpath);
dir.Create();
别忘了导入命名空间:
using System.IO;//用于调出DirectoryInfo
第3个回答  2009-04-03
static void Main()
{
File.Create("user.ini");
}
同一个文件夹下创建user.ini

话说各位同志想的好复杂····

C#如何在指定目录下创建文件
\/\/创建一个空白文件 string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")+ ".txt";string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);System.IO.File.Create(filePathOne);(2)通过FileInfo对象创建。\/\/通过Combine合并目录 \/\/然后创建目录 string activeDir = @...

C# winform 如何在指定目录下创建XML文档,并读取该文档
1.右击解决方案->添加->新建项->xml文档 2.下面就是一个简单的xml文档,名为"student":<rss version="2.0"> <student> <name>张三<\/name> <age>20<\/age> <hobby>跑步<\/hobby> <name>李四<\/name> <age>20<\/age> <hobby>打球<\/hobby> <\/student> <\/rss> 3.读取xml文档 xmldocument...

c#程序如何在c盘设计文件夹
1、在visual studio当中创建一个C#控制台应用程序,选择新建项目,然后选择visual C#,再选中控制台应用程序,输入项目名称,选择位置,确定即可。2、创建完成之后,在program.cs中最上方加写using System.IO;,如图所示,注意后面的分号也要加:3、然后代码如下图所示,判断C盘根目录下是否存在C#程序设计...

c#在d盘根目录下创建TXT的代码
FileMode.Create, FileAccess.Write);\/\/创建写入文件 StreamWriter sw = new StreamWriter(fs1); sw.WriteLine(this.textBox3.Text.Trim() + "+" + this.textBox4.Text);\/\/开始写入值 sw.Close(); fs1.Close

C#如何在文件夹里生成一个文本文件 里边记录文件夹里所有文件的名字
public static void Main(){ Console.Write( "请输入要查询的目录: ");string dir = Console.ReadLine();try { ListFiles(new DirectoryInfo(dir));} catch(IOException e){ Console.WriteLine(e.Message);} } public static void ListFiles(FileSystemInfo ...

C# 中用代码创建一个路径中的文件夹
1、C#中对文件夹操作需要用到Directory Class,其中提供了创建、删除、移动、枚举等静态方法,该类不能被继承。2、以下代码实现了创建文件夹:if (!Directory.Exists(sPath)){ Directory.CreateDirectory(sPath);}

C# 怎样创建INI文件到安装目录下 ,安装地址是不确定的
创建INI文件,创建完成之后在启动文件的目录下 public class IniOP { region 声明读写INI文件的API函数 [DllImport("kernel32")]private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);[DllImport("kernel32")]private static extern int Get...

C# 在指定目录下连续创建多个文件
winform做的吗?路劲不能这样写,要用应用程序路径:string filename = string.Format(Application.StartupPath+"\\\\文件库\\\\{0}.txt", i + 1);

C#在build出来的exe文件所在的根目录下或上一级文件夹里面创建一个txt...
private void Form1_Load(object sender, EventArgs e) { \/\/debug下面exe相同路径 string f1=Application.StartupPath + "\\\\test.txt"; FileInfo fi1 = new FileInfo(f1); fi1.Create(); \/\/csproj相同路径 string f2 = Application.StartupPath + "\\\\..\\\\..\\\\test...

用c#怎么新建一个文件夹 之后再创建自动在后面加1 比如新建文件夹 新 ...
在相应的盘目录下创建一个TXT文件,里面记录一个数字,你是第几次创建文件夹,每次创建文件夹的时候去读取TXT里面的数字。文件夹的创建如楼上所说,Directory类。如:第一次创建,TXT里面记录0,然后读到这个数,就默认创建“新建文件夹”。第二次创建,就读取TXT里面的数字去加1,然后第二次的TXT...

相似回答