在工程下创建名为(TextFile1.txt)的文件,但是我们编写如下图的代码检测时,却没有找到此文件,,,
因为程序是在Debug目录下执行的,所以我们创建的文件需要在Debug目录下,,,我们通常用的方法是:右键TextFile1.txt—> 属性 —> 将复制到输出目录的属性,更改为始终复制或者较新时复制,如下图:
这样就可以查看到我们目录下的文件了,,,
FileInfo 和 DirectoryInfo 的一些属性,方法,,,
using System;
using System.IO;
namespace 查看文件_文件夹
{
class Program
{
static void Main(string[] args)
{
//根据(文件名)查找文件: 相对路径(就是找到程序所在的路径)
//绝对路径,加上文件的路径名
FileInfo fileinfo = new FileInfo("TextFile1.txt");
//======================文件 常用属性======================
//查看文件是否存在
Console.WriteLine(fileinfo.Exists);
//查看文件名(文件名.后缀)
Console.WriteLine(fileinfo.Name);
//目录
Console.WriteLine(fileinfo.Directory);
//长度
Console.WriteLine(fileinfo.Length);
//是否只读
Console.WriteLine(fileinfo.IsReadOnly);
//==========================文件 方法====================
//删除的是输出路径下的文件
fileinfo.Delete();
//复制
fileinfo.CopyTo("fiet1.txt");
//新建文件,,,
FileInfo filetemp = new FileInfo("temp.doc");
if (filetemp.Exists) //如果不存在
{
filetemp.Create(); //创建文件
}
//移动文件(重命名)
fileinfo.MoveTo("TextFile2.txt");
//=======================文件夹的操作======================
//相对路径下创建
DirectoryInfo dir = new DirectoryInfo("Test");
if (dir.Exists)
{
dir.Create();
}
//当前程序的debug目录
DirectoryInfo dirinfo = new DirectoryInfo(@"D:\documents\visual studio 2015\Projects\Csharp高级篇\018_文件操作_查看\bin\Debug");
Console.WriteLine(dirinfo.Exists); //是否存在
Console.WriteLine(dirinfo.Name); //名字
Console.WriteLine(dirinfo.Parent); //父目录
Console.WriteLine(dirinfo.Root); //跟目录
Console.WriteLine(dirinfo.CreationTime); //创建时间
//创建子目录
dirinfo.CreateSubdirectory("Czhenya");
Console.ReadKey();
}
}
}
StreamReader 读取文件,,,
StreamWriter 写入文件,,,
namespace 文件的读写
{
class Program
{
static void Main(string[] args)
{
//创建文本文件的读取流
StreamReader reader = new StreamReader("TestFile1.txt");
//1,ReadLine()去取一行
//while (true)
//{
// //读取一行字符串
// string str = reader.ReadLine();
// Console.WriteLine(str);
// if (str == null)
// {
// break;
// }
//}
/2,读取文件到结束,,接受然后输出就行了
reader.ReadToEnd();
//3,读取单个字符 ,使用如方法1一样的循环即可
char c =(char) reader.Read();
//关闭流
reader.Close();
//创建写入流 如果文件存在将会被覆盖
StreamWriter writer = new StreamWriter("FileText1.txt");
while (true)
{
string mes = Console.ReadLine();
if (mes == "q") //表示输入遇到q退出
{
break;
}
writer.WriteLine(mes);
}
writer.Close();
Console.ReadKey();
}
}
}
使用FileStream 完成文件复制,,,
using System;
using System.IO;
namespace 读写文件应用
{
class Program
{
static void Main(string[] args)
{
//读出流
FileStream read = new FileStream("TextFile1.txt", FileMode.Open);
//写入流
FileStream write = new FileStream("TextFile1_副本.txt", FileMode.Create);
byte[] data = new byte[1024];
while(true){
int length = read.Read(data, 0, data.Length);
if (length == 0)
{
Console.WriteLine(length);
break;
}
else
{
write.Write(data, 0, length);
}
}
read.Close();
write.Close();
Console.ReadKey();
}
}
}