一.IO文件的操作:

    .net中对文件操作,经常会用到这样几个类:

      • FileStream       (操作大文件)
      • Path               (操作路径)
      • File                 (操作小文件)
      • Directory         (目录操作)

二.Directory类:

    • 创建目录:
static void Main(string[] args)
{
string path =@"目录";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path); //如果目录不存在就创建目录
}
Console.ReadKey();
}
    • 删除目录:
static void Main(string[] args)
{
string path=@"目录";
if (Directory.Exists(path))
{
//Directory.Delete(path);//删除空目录 ,目录下没有文件了。
Directory.Delete(path, true);////不管空不空,都删!
}
Console.ReadKey();
}

三.File类:

    File类可以进行对一些小文件的拷贝,剪切操作。还能读取一些文档文件

    1. void Delete(string path): //删除文件;
    2. bool Exists(string path): //判断文件是否存在;
    3. string[] ReadAllLines(string path): //将文本文件中的内容读取到string数组中;
    4. string ReadAllText(string path): //将文本文件读取为一个字符串
    5. void WriteAllLines(string path, string[] contents)://将string[]写入到文件中;
    6. void WriteAllText(string path, string contents)://将字符串contents写入到文件path
    7. AppendAllText: //向文件中附加内容;
    8. Copy //复制文件;
    9. Move //移动文件

遍历目录下的文件:

static void Main(string[] args)
{
IEnumerable<string> file1 = Directory.EnumerateFiles(@"目录");
IEnumerator<string> fileenum = file1.GetEnumerator();
while (fileenum.MoveNext()) //移动一下读取一个
{
Console.WriteLine(fileenum.Current);
}
Console.ReadKey();
}

四.FileStream类:

    文件流类,负责文件的拷贝,读取

文件的读取:

using (Stream file = new FileStream("目录文件", FileMode.Open))
{
byte[] bytes = new byte[]; //读取数据的一个缓冲区
int len;
while((len=file.Read(bytes,,bytes.Length))>) //每次读取bytes4字节的数据到
{ //bytes中
string s = Encoding.Default.GetString(bytes,,len);
Console.WriteLine(s);
}
}

文件的写入:

//创建文件流
Stream file = new FileStream(@"d:\temp.txt", FileMode.Create);
//按默认编码将内容读取到数组中
byte[] bytes = Encoding.Default.GetBytes("IO流操作读写换行\r\nhelloWord");
file.Write(bytes, , bytes.Length); //读取bytes数组,0位置开始读,读取长度
file.Close();//文件写入完毕后一定要关闭文件

五.文本文件的操作:

1.按行写入文本文件
static void Main(string[] args)
{
using (StreamWriter sw = new StreamWriter("e:\\temp.txt",false, Encoding.UTF8))//true表示往后追加
{
sw.WriteLine("hello");
}
Console.ReadKey();
}
2.按行读取文本文件
static void Main(string[] args)
{
using(StreamReader sr = new StreamReader("e:\\temp.txt",Encoding.Default))
{
string str;
while ((str=sr.ReadLine()) != null) //每次读取一行
{
Console.WriteLine(str);
}
}
Console.ReadKey();
}

IO文件操作的更多相关文章

  1. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

  2. (Unity)XML文件读写与IO文件操作类使用介绍

    using System.Xml;                //xml文件操作命名空间 #region 写入操作 void WriteXMLFile(string _fileName) { Xm ...

  3. Linux下普通IO文件操作函数---C语言

    普通文件IO总结 FILE结构体    typedef struct   {       int level; /*填充/清空一级缓存*/     unsigned flag; /*文件状态指针*/ ...

  4. winform IO文件操作

    最近做了一个查错工具,运用了winform文件操作的知识,做了几点总结,不全面,只总结了几点项目里用过的知识(关于以下内容只是个人的理解和总结,不对的地方请多指教,有补充的可以评论留言大家一起讨论学习 ...

  5. Java学习之==>IO文件操作体系

    一.概述 在整个 Java.io 中最重要的就是5个类和一个接口.5个类指的是 File.InputStream.OutputStream.Reader.Writer,一个接口指的是Serializa ...

  6. Python3中IO文件操作的常见用法

    首先创建一个文件操作对象: f = open(file, mode, encoding) file指定文件的路径,可以是绝对路径,也可以是相对路径 文件的常见mode: mode = “r”   # ...

  7. java IO文件操作简单基础入门例子,IO流其实没那么难

    IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想.今天整理了一份适合初学者学习的简单例子,让大家可以更深刻的理解IO流的具体操作. 1.文件拷贝 ...

  8. java io 文件操作

    package com.svse; import java.io.File; import java.io.IOException; public class IOTest { public stat ...

  9. NumPy IO文件操作

    NumPy - IO ndarray对象可以保存到磁盘文件并从磁盘文件加载. 可用的 IO 功能有: load()和save()函数处理 numPy 二进制文件(带npy扩展名) loadtxt()和 ...

随机推荐

  1. [USACO07JAN]平衡的阵容Balanced Lineup BZOJ 1699

    题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连 ...

  2. J.U.C AQS(abstractqueuedssynchronizer--同步器)

    J.U.C AQS(abstractqueuedssynchronizer--同步器)   同步器是用来构建锁和其他同步组件的基础框架,它的实现主要依赖一个int成员变量来表示同步状态以及通过一个FI ...

  3. 9.path Sum III(路径和 III)

    Level:   Easy 题目描述: You are given a binary tree in which each node contains an integer value. Find t ...

  4. C++的一种业务分发方案(另类的工厂模式)

    在C++中,传统的业务分发.总要写一大串的switch-case,并且每次添加新业务时.都要在原有的switch-case里加一个分支,这就违反了设计模式中的开放封闭原则. 下面这样的方案,就全然去除 ...

  5. 记录Leetcode 鸡蛋掉落 的思路

    前言 首先看一下这个题目,是Leetcode的第887题"鸡蛋掉落": 你将获得 `K` 个鸡蛋,并可以使用一栋从 `1` 到 `N` 共有 `N` 层楼的建筑. 每个蛋的功能都是 ...

  6. [Leetcode]013. Roman to Integer

    public class Solution { public int romanToInt(String s) { if(s == null || s.length() == 0) return 0; ...

  7. Kibana 视图开发入门参考文档

    官方教程:https://www.elastic.co/blog/developing-new-kibana-visualizations GitHub源码:https://github.com/el ...

  8. 10-排序6 Sort with Swap(0, i) (25 分)

    Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy to sort them in increasing order ...

  9. sqlserver 数据库阻塞和死锁

    参考原文:http://blog.csdn.net/ha196200/article/details/44985597 (1) 数据库阻塞: 假设第一个连接T1占有且没有释放资源,第二个连接T2请求同 ...

  10. php连接数据库mysql数据库

    查找数据 $con = mysqli_connect('localhost', 'root', '', 'mydb'); if (!$con) { die('数据库连接失败' . mysqli_con ...