您现在所在的位置:首页 >学习资源 > Unity游戏/VR/AR入门教材 > VR开发入门教程41:文件IO的应用实例

VR开发入门教程41:文件IO的应用实例

来源:奇酷教育 发表于:

奇酷教育VR高级入门教程41:文件IO的应用实例

  递归目录

  如何获得某个盘符或者路径下的所有目录和子目录的信息呢?

  using System;

  using System.IO;

  public class Files

  {

  //将string 改变为DirectoryInfo

  public static void dispDirs(DirectoryInfo dir)

  {

  Console.WriteLine("{0}", dir.FullName);

  //返回目录中的目录列表对象

  DirectoryInfo[] directories = dir.GetDirectories();

  foreach (DirectoryInfo dirX in directories)

  {

  dispDirs(dirX);

  }

  }

  public static void Main(String[] args)

  {

  //保存目录存在

  DirectoryInfo dir = new DirectoryInfo("D:\\TOOLS");

  if (dir.Exists)

  dispDirs(dir);

  else

  Console.WriteLine("访问目录不存在!");

  Console.Read();

  }

  }

  文件管理

  File类通常和FileStream类协作来完成对文件的创建、删除、拷贝、移动、打开等操作。

  File类提供的静态方法主要有Create、Copy、Move、Delete、GetLastAccessTime 等,利用它们可以完成一些基本的文件管理。也可以通过FileInfo类来实现同样的操作。

  获取文件基本信息

  1 获取文件的大小

  new FileStream(path).Length

  2 获取文件扩展名

  Path.GetExtension(path)

  3 获取文件创建时间

  File.GetCreationTime(path);

  4 获取文件最后一次修改时间

  File.GetLastAccessTime(path);

  5 获取文件名禁止使用的字符

  Path.GetInvalidPathChars();

  文件流

  StreamReader和StreamWriter类提供以一种特定的编码从字节流中读取字符。

  文件流获得

  通过File类中的Open、OpenRead、OpenWrite获得FileStream文件流。

  通过AppendText可获得UTF-8编码格式的StreamReader类对象。

  文件的读取和写入

  1 创建一个文件用于写入UTF-8编码的文本

  2 OpenRead方法打开现有文件并读取

  3 OpenWrite方法打开现有文件并进行写入

  4 打开现有UTF-8编码文本文件并进行读取

  5 读取文件中的第一行数据

  6 按行读取文本文件中的数据

  7 读取文件中的所有数据

  8 向文件中写入追加数据

  二进制读写文件

  BinaryReader 和BinaryWriter 类,用于按二进制模式读写文件。

  它们提供的一些读写方法是对称的,比如针对不同的数据结构,BinaryReader提供了ReadByte、ReadBoolean、ReadInt、ReadInt16、ReadDouble、ReadString等方法,而BinaryWriter 则提供了重载了17次的Write 方法。

  BinaryReader读取数据所用方法必须和BinaryWriter写入数据所用方法对应。