文件操作

File类,FileInfo类.using System.IO命名空间
(一)创建

方法一:

1         private string path = @"F:\Text\aaa.txt";
private void CreateFile_Click(object sender, EventArgs e)
{
FileStream fs = File.Create(path);
fs.Close();//返回FileStream必须释放流
}

方法二:

         private string path = @"F:\Text\aaa.txt";
private void CreateFile_Click(object sender, EventArgs e)
{
FileInfo CreateFile = new FileInfo(path);
FileStream stream = CreateFile.Create();
stream.Close();//返回FileStream类型必须释放流
}

(二)删除

方法一:

         private string path = @"F:\Text\aaa.txt";
private void DeleteFile_Click(object sender, EventArgs e)
{
File.Delete(path);
}

方法二:

         private string path = @"F:\Text\aaa.txt";
private void DeleteFile_Click(object sender, EventArgs e)
{
FileInfo DeleteFile = new FileInfo(path);
DeleteFile.Delete();
}

(三)是否存在

方法一:

         private string path = @"F:\Text\aaa.txt";
private void ExistFile_Click(object sender, EventArgs e)
{
bool ex = File.Exists(path);
if (ex)
{
MessageBox.Show("存在");
}
else
{
MessageBox.Show("不存在");
}
}

方法二:

         private string path = @"F:\Text\aaa.txt";
private void ExistFile_Click(object sender, EventArgs e)
{
FileInfo ExistFile = new FileInfo(path);
bool ex = ExistFile.Exists;
if (ex)
{
MessageBox.Show("存在");
}
else
{
MessageBox.Show("不存在");
}
}

(四)复制---不能跨盘符

方法一:

         private string path = @"F:\Text\aaa.txt";
private void CopyFile_Click(object sender, EventArgs e)
{
File.Copy(path, @"F:\Text\bbb.txt");//复制的同时里面的内容也和复制
}

方法二:

  private void CopyFile_Click(object sender, EventArgs e)
{
FileInfo CopyFile = new FileInfo(path);
CopyFile.CopyTo(@"F:\Text\bbb.txt"); //复制的同时里面的内容也和复制
}

(五)移动(改名)---不能跨盘符

注:Move()或MoveTo(): 1.路径不同名字相同(相当于--剪切),

          2.路径不同名字不同(相当于--剪切+重命名),

          3.路径相同名字不同(相当于--重命名).

且移动是同时将文件夹内的所有对象,移动.

方法一:

         private string path = @"F:\Text\aaa.txt";
private void MoveFile_Click(object sender, EventArgs e)
{
File.Move(path, @"F:\Test\bbb.txt");
}

方法二:

         private string path = @"F:\Text\aaa.txt";
private void MoveFile_Click(object sender, EventArgs e)
{
FileInfo MoveFIle = new FileInfo(path);
MoveFIle.MoveTo(@"F:\Test\ccc.txt");
}

(六)获得文件名

注:只有FileInfo()类一种方法

  1.只获取文件名(貌似没什么用--下面show()的内容就是aaa.txt)

         private string path = @"F:\Text\aaa.txt";
private void FileName_Click(object sender, EventArgs e)
{
FileInfo FileName = new FileInfo(path);
string name = FileName.Name;
MessageBox.Show(name);
}

  2.或取文件全名(包括路径)

         private string path = @"F:\Text\aaa.txt";
private void FileName_Click(object sender, EventArgs e)
{
FileInfo FileName = new FileInfo(path);
string name = FileName.FullName;
MessageBox.Show(name);
}

(七)获得扩展名

注:只有FileInfo()类一种方法

         private string path = @"F:\Text\aaa.txt";
private void ExtensionName_Click(object sender, EventArgs e)
{
FileInfo ExtensionName = new FileInfo(path);
string exname = ExtensionName.Extension;
MessageBox.Show(exname);
}

(八)获取辅助属性

注:只有File()类一种方法

         private string path = @"F:\Text\aaa.txt";
private void GetAttribute_Click(object sender, EventArgs e)
{
FileAttributes Attributes = File.GetAttributes(path);
DateTime CreateTime = File.GetCreationTime(path);
DateTime LastAccessTime = File.GetLastAccessTime(path);
DateTime GetLastWriteTime = File.GetLastWriteTime(path);
MessageBox.Show(Attributes.ToString()+"\n"+CreateTime.ToString()+"\n"+LastAccessTime.ToString()+"\n"+GetLastWriteTime.ToString());
}

(九)修改辅助属性

注:只有File()类一种方法

        private string path = @"F:\Text\aaa.txt";
private void button1_Click(object sender, EventArgs e)
{
FileAttributes Attributes = new FileAttributes();
Attributes = FileAttributes.Hidden;
File.SetAttributes(path, Attributes);
File.SetCreationTime(path, DateTime.Now);
File.SetLastAccessTime(path, DateTime.Now);
File.SetLastWriteTime(path, DateTime.Now);
}

(十)打开保存

  文件读写

注:所有打开new一个新类之后先写 类名.close()

  FileStream类:比较通用。

    打开

         private string path = @"F:\Text\aaa.txt";
private void Open_Stream_Click(object sender, EventArgs e)
{
FileStream stream = new FileStream(path, FileMode.Open);//读出的数据是以二进制代码形式存储
byte[] nr = new byte[stream.Length];
stream.Read(nr,,nr.Length);
stream.Close();
//把byte[]的内容变成字符串放在文本框中。
string s = System.Text.Encoding.Default.GetString(nr);
textBox1.Text = s;
}

    保存

         private string path = @"F:\Text\aaa.txt";
private void Save_Stream_Click(object sender, EventArgs e)
{
//把文本框的字符串变成二进制数组
byte[] nr = System.Text.Encoding.Default.GetBytes(textBox1.Text);
//送到文件中去
FileStream stream = new FileStream(path, FileMode.OpenOrCreate);
stream.Write(nr, , nr.Length);
stream.Close();
}

  StreamReader类:

    打开

         private string path = @"F:\Text\aaa.txt";
private void Open_Reader_Click(object sender, EventArgs e)
{
StreamReader reader = new StreamReader(path, Encoding.Default);
string s = reader.ReadToEnd();
reader.Close();
textBox1.Text = "";
textBox1.Text = s;
}

         private string path = @"F:\Text\aaa.txt";
private void Open_Writer_Click(object sender, EventArgs e)
{
FileStream stream = new FileStream(path, FileMode.Open);
StreamReader reader = new StreamReader(stream, Encoding.Default);
string s = reader.ReadToEnd();
reader.Close();
stream.Close();
textBox1.Text = s;
}

  StreamWriter类:

         private string path = @"F:\Text\aaa.txt";
private void Save_Writer_Click(object sender, EventArgs e)
{
StreamWriter writer = new StreamWriter(path, false, Encoding.Default);
writer.WriteLine(textBox1.Text);
writer.Close();
}

        private string path = @"F:\Text\aaa.txt";
private void Save_Writer_Click(object sender, EventArgs e)
{
FileStream stream = new FileStream(path, FileMode.OpenOrCreate);
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine(textBox1.Text);
writer.Close();
stream.Close();
}

 

.Net文件操作的更多相关文章

  1. 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档

    .net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...

  2. 野路子出身PowerShell 文件操作实用功能

    本文出处:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职,索性就网上各种 ...

  3. Node基础篇(文件操作)

    文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

  4. 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)

    ========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...

  5. SQL Server附加数据库报错:无法打开物理文件,操作系统错误5

    问题描述:      附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf ...

  6. 通过cmd完成FTP上传文件操作

    一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...

  7. Linux文件操作的主要接口API及相关细节

    操作系统API: 1.API是一些函数,这些函数是由linux系统提供支持的,由应用层程序来使用,应用层程序通过调用API来调用操作系统中的各种功能,来干活 文件操作的一般步骤: 1.在linux系统 ...

  8. C语言的fopen函数(文件操作/读写)

    头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为:    FILE * fopen(const char * path, c ...

  9. Python的文件操作

    文件操作,顾名思义,就是对磁盘上已经存在的文件进行各种操作,文本文件就是读和写. 1. 文件的操作流程 (1)打开文件,得到文件句柄并赋值给一个变量 (2)通过句柄对文件进行操作 (3)关闭文件 现有 ...

  10. python 文件操作(转)

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

随机推荐

  1. 整理的java的日期DateUtil

    package cn.knet.data.untils; import java.text.SimpleDateFormat; import java.util.Calendar; import ja ...

  2. 夺命雷公狗ThinkPHP项目之----企业网站28之网站前台左侧导航的实现

    我们基于刚才在model层的找顶级分类的代码在进行修改即可: <?php namespace Home\Controller; use Think\Controller; class Commo ...

  3. ==,equal,hasCode(),identifyHasCode()浅析

    在java中如果我们要比较两个对象之间的关系的话有可能会用到下面的几种方法:==,equal,hasCode(),identifyHasCode(). ==用来比较对象本身是不是相同的. public ...

  4. iOS - 代码查看控制台打印内存使用情况:

    1.先导入: #import <mach/mach.h> 2.写此方法.单位为兆(M). void report_memory(void) { struct task_basic_info ...

  5. 编译busybox-1.24.1 制作文件系统

    arm-linux-gcc  3.4.5 busybox-1.24.1.tar.bz21, 修改 Makefile找到以下2处修改为ARCH ?= armCROSS_COMPILE ?= arm-li ...

  6. Bootstrap:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  7. 专为物联网开发的开源操作系统Contiki(转)

    专为物联网开发的开源操作系统Contiki(转)  (2012-04-19 15:31:09) 原文网址:http://blog.sina.com.cn/s/blog_6de000c201010z7n ...

  8. ORACLE添加表约束的语法示例

    转自:http://jingyan.baidu.com/article/f54ae2fccda68d1e93b84942.html 示例: --班级表 CREATE TABLE TCLASS( cl_ ...

  9. 阅读推荐——深入浅出Mesos

    深入浅出Mesos(一):为软件定义数据中心而生的操作系统http://www.infoq.com/cn/articles/analyse-mesos-part-01 深入浅出Mesos(二):Mes ...

  10. 为什么Redis内存不宜过大

    redis这个内存数据库,它的高性能.稳定性都是不用怀疑的,但我们塞进redis的数据过多,内存过大,那如果出问题,那它可能会带给我们的就是灾难性. 作者:程超来源:网络|2016-05-23 09: ...