using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class DiretoryTest : MonoBehaviour
{
//文件不同路径写法
// 使用斜杠/
// 使用反斜杠\,需转义 \\
// 加@,不需要转义\
string path = "G:/Unity Project/资源库";
string path1 = "G:\\Unity Project\\资源库\\01-业务概览\\1-业务概览";
string path2 = "G:\\Unity Project\\资源库\\01-业务概览\\3-视频案例";
string path3 = @"G:\Unity Project\资源库\01-业务概览\1-业务概览\幻灯片01.JPG";
#region System.IO
/*
* Directory 提供 目录和子目录进行创建、移动和删除等静态方法。
* DirectoryInfo 提供 目录和子目录进行创建、移动和删除等实例方法。
* Path 静态类的成员使用户可以快速方便的对文件或者目录路径信息的String实例,执行常见静态操作方法。
* File 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建FileStream。Filelnfo类提供实例方法。
* Filelnfo 提供用于创建、复制、删除、移动和打开文件的实例方法,并协助创建FileStream。File类提供静态方法
*/
#endregion
/// <summary>
/// Directory类方法
/// </summary>
public void DirectoryMethods()
{
#region 1、GetDirectories: 获取当前目录下所有子目录的路径
string[] filespath = Directory.GetDirectories(path);
foreach (string item in filespath)
{
Debug.Log("File Name: " + Path.GetFileName(item));
}
#endregion
#region 2、GetFiles: 获取当前目录下所有文件的路径
string[] filespath = Directory.GetFiles(path1);
foreach (string item in filespath)
{
Debug.Log("File Name: " + Path.GetFileName(item));
}
#endregion
#region 3、GetFiles: (按类型)获取当前目录下所有文件的路径
string[] filespath = Directory.GetFiles(path2, "*");
//单个文件: "*.*"、"*.jpg"、"*.txt"、"*.mp4" 多个文件:"*.BMP|*.JPG|*.PNG"
foreach (string item in filespath)
{
Debug.Log("File Name: " + Path.GetFileName(item));
}
#endregion
}
/// <summary>
/// DirectoryInfo类方法
/// </summary>
public void DirectoryInfoMethods()
{
#region 1、GetDirectories: 获取当前目录下子目录的路径
DirectoryInfo d = new DirectoryInfo(path);
//只获得第一层子文件夹
DirectoryInfo[] directoryInfo = d.GetDirectories("*", SearchOption.TopDirectoryOnly);
//获得所有子文件夹
//DirectoryInfo[] directoryInfo = d.GetDirectories("*", SearchOption.AllDirectories);
for (int i = 0; i < directoryInfo.Length; i++)
{
Debug.Log(directoryInfo[i].FullName);
}
#endregion
#region 2、GetFiles: 获取当前目录下文件的路径
DirectoryInfo d1 = new DirectoryInfo(path1);
FileInfo[] f = d1.GetFiles("*", SearchOption.TopDirectoryOnly);
for (int i = 0; i < f.Length; i++)
{
Debug.Log(f[i].FullName);
}
#endregion
}
/// <summary>
/// Path类方法
/// </summary>
public void PathMethods()
{
//获取这个文件名
Debug.Log(Path.GetFileName(path1)); //---->1-业务概览
Debug.Log(Path.GetFileName(path2)); //---->3-视频案例
Debug.Log(Path.GetFileName(path3)); //---->幻灯片01.JPG
//获取文件的父目录
Debug.Log(Path.GetDirectoryName(path3)); //---->G:\Unity Project\资源库\01-业务概览\1-业务概览
//获取该文件的扩展名
Debug.Log(Path.GetExtension(path3)); //---->.JPG
//获取不带扩展名的文件名
Debug.Log(Path.GetFileNameWithoutExtension(path3)); //---->幻灯片01
//获取绝对路径
Debug.Log(Path.GetFullPath(path3)); //---->G:\Unity Project\资源库\01-业务概览\1-业务概览\幻灯片01.JPG
//合并文件名
//Debug.Log(Path.Combine(string pathOne, string pathTwo));
}
}
Unity Diretory
猜你喜欢
转载自blog.csdn.net/m0_62921885/article/details/135668845
今日推荐
周排行