Directory文件类,File,FielStream、StreamRead和StreamWriter的使用

(转载)

创建一个新文件
Directory.CreateDirectory(@"C: \Users\enle\Desktop\new");//路径
删除一个文件
Directory.Delete(@"C: \Users\enle\Desktop\new", true);
剪切一个文件
Directory.Move(@"C:\Users\enle\Desktop\new", @"C:\Users\enle\Desktop\new1");
读取文件所有文件的全路径
string[] path = Directory.GetFiles(@"C:\Users\enle\Desktop\2", "*.pdf");//"*.pdf" 对读取文件的格式,进行限定
for (int i = ; i < path.Length; i++)
{
Console.WriteLine(path[i]);
}
文件夹的路径
string[] path = Directory.GetDirectories(@"C:\Users\enle\Desktop\2"); for (int i = ; i < path.Length; i++)
{
Console.WriteLine(path[i]);
}
           Console.ReadKey()
创建文件夹
if (Directory .Exists (@"C:\Users\enle\Desktop\new1"))
{
for (int i = ; i < ; i++)
{
Directory.CreateDirectory(@"C: \Users\enle\Desktop\new1\" + i); }
}

//读取文本文件

            // FileMode.OpenOrCreate你针对文件进行一个什么操作
//FileAccess .Read 文件数据参数
//1.创建FileStream对象
FileStream fileRead = new FileStream(@"C:\Users\wbrm\Desktop\新建文本文档.txt", FileMode.OpenOrCreate, FileAccess.Read);
byte[] buffer = new byte[ * * ];
int r = fileRead.Read(buffer, , buffer.Length); // 0表示从那个字节读取数据 // buffer.Length 读取的大小
//将字节数组中的每一个元素安照知道的编码格式解码成字符串
string s = Encoding.Default.GetString(buffer, , r);
fileRead.Close(); // //关闭流
fileRead.Dispose(); // //释放流所占用的资源
 写入文本文件
            //写入的编码格式和读的编码格式必须一样
//将创建的文件流对象的过程在Using当中,会自动的帮助我们释放所占用的空间
using (FileStream fswrite = new FileStream(@"C:\Users\wbrm\Desktop\新建文本文档 (2).txt", FileMode.OpenOrCreate, FileAccess.Write))
{
string str = "看我有没有把你覆盖掉";
byte[] buffer = Encoding.Default.GetBytes(str);//转换成字节数组
fswrite.Write(buffer, , buffer.Length);
}

使用文件流实现多媒体文件文件的复制

static void Main(string[] args)
{
//思路:先将要复制的多媒体文件读取出来然后在再写到你的指定位置
string courece = @"C:\Users\wbrm\Desktop\for循环的练习.avi";
string target = @"C:\Users\wbrm\Desktop\新的.avi";
CopyFile(courece, target);
}
public static void CopyFile(string courece, string target)
{
//读取流
using (FileStream fsRead = new FileStream(courece, FileMode.OpenOrCreate, FileAccess.Read))
{
//写入流
using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))
{
byte[] buffer = new byte[ * * ];
//因为文件可能会比较大,所以我们在读取的时候,应该通过一个循环去读取
while (true)
{
//返回本次读取实际读取的字节数
int r = fsRead.Read(buffer, , buffer.Length);
//如果返回一个0,也就意味什么都没有读取到,读取完了
if(r==)
{
break;
}
fsWrite.Write(buffer, ,r);//最多写入的字节r
}
}
}
}
//StreamRead来读取一个文件
using (StreamReader sr = new StreamReader(@"C:\Users\enle\Desktop\新建文本文档.txt", Encoding.Default))
{
while (!sr.EndOfStream)//循环的去读文件
{
var str=sr.ReadLine();
}
}
//StreamWriter写入一个文本文件
using (StreamWriter strw = new StreamWriter(@"C:\Users\wbrm\Desktop\新建.txt",true ))//true 表示追加
{
strw.Write("哈哈哈");
}

文件操作:Directory,File,FielStream、StreamRead和StreamWriter的使用的更多相关文章

  1. Python:文件操作技巧(File operation)(转)

    Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python #  -*- coding: utf8 -*- spath = " D:/dow ...

  2. C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)

    文件流 FileStream  可读可写  大文件  释放 StreamReader 读取   释放 StreamWriter 写入   释放 using 中释放 File 可读可写  小文件 操作文 ...

  3. 文件操作类File

    File类:提供用于创建.复制.删除.移动和打开文件的静态方法.File类 FileInfo类:提供创建.复制.删除.移动和打开文件的属性和实例方法.FileInfo类 Directory类:公开用于 ...

  4. 流的文件操作(File)

    一.流的分类: 1.流按照方向分类:分为输入流和输出流,流的操作是相对于内存而言. 输入流的定义:当我们从数据源中将数据读取到内存中就称为输入流,也叫读取流. 输出流的定义:当我们将内存中处理好的数据 ...

  5. Python基础【第十一篇】文件操作(file()、open()方法和fileinput模块)

    一.file/open 内置函数 file函数的方法: 注:file 和 open的用法和功能相同这里只对file进行分析 file(‘filename’,’mode’) file(‘filename ...

  6. 文件操作(File类等)API摘要

    Console 此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有). 虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式.如果虚拟机从一个交互式命令行开始启 ...

  7. 文件操作之File 和 Path

    转载:https://blog.csdn.net/u010889616/article/details/52694061 Java7中文件IO发生了很大的变化,专门引入了很多新的类: import j ...

  8. java的文件操作类File

    java.io.File类,是java获取文件/文件夹的所有属性,和完成所有相关操作的类 例子: package test.file.IO; import java.io.*; public clas ...

  9. java 基础 —— 文件操作(File)

    1. 基本成员: File.separator public class File implements Serializable, Comparable<File> { private ...

随机推荐

  1. REST ful

    前后端分离.面向资源.无状态: 请求包含全部信息. 什么是 REST? 下面六条准则定义了一个 REST 系统的特征: 客户-服务器(Client-Server),提供服务的服务器和使用服务的客户需要 ...

  2. scrapy-redis使redis不止保存url

    先看scrapy-redis源码 class RedisMixin(object): """Mixin class to implement reading urls f ...

  3. appium的python异常处理

    from  appium import webdriver from selenium.common.exceptions import NoSuchElementException desired_ ...

  4. Vue学习之路第二十篇:Vue生命周期函数-组件创建期间的4个钩子函数

    1.每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行一些叫做生命周期钩子的函数 ...

  5. 单行函数、表连接(day02)

    回顾: 1.数据库介绍 sql: dql: select dml: insert delete update ddl: create drop alter tcl: commit rollback s ...

  6. [luogu4161 SCOI2009]游戏 (DP)

    传送门 Solution 可以发现实际上是把n分为几个循环节,然后找循环节的\(lcm\)是这次的排数 而\(lcm\)必然是一些最高次幂的质数的成积,那么就dp求一下所有情况就好了 PS:注意并不是 ...

  7. 无法启用internet连接共享,为LAN连接配置的IP地址需要使用自动IP寻址

    热点不能用了,一直都不知道为什么,今天查了一些资料,终于知道了原因,是因为我安装了VMware Workstation Pro ,它生成了VMnet1和VMnet8所在的两个网段,这个网段就和热点共享 ...

  8. kissui.scrollanim页面滚动动画库插件

    简介 kissui.scrollanim是一款实用的纯JS和CSS3页面滚动动画库插件.通过该插件可以使元素进入浏览器视口的时候,展示指定的CSS3动画效果. 下载地址及演示 在线演示 在线下载 安装 ...

  9. Vue packages version mismatch

    开发过程中,之前做的vue项目,一段时间后拿出来重新运行,报错: 打开vue-template-compiler/index.js查看错误提示,如下: 当安装的vue版本和package.json中的 ...

  10. luogu P4512 多项式除法 (模板题、FFT、多项式求逆)

    手动博客搬家: 本文发表于20181206 14:42:53, 原地址https://blog.csdn.net/suncongbo/article/details/84853342 题目链接: ht ...