一、在桌面創(chuàng)建文件夾 C:\Users\Administrator\Desktop(桌面路徑)
? ? ? ? string path = "c:/Users/Administrator/Desktop/TestFolder"; //TestFolder要創(chuàng)建得文件夾的名字
? ? ? ? if (!Directory.Exists(path))
? ? ? ? {
? ? ? ? ? ? Directory.CreateDirectory(path);
? ? ? ? }
二、(1)讀取文件夾中的圖片(WWW 類加載) 圖片名字為 testPicture.jpg
Texture2D texture;
?IEnumerator loadTexture() {
? ? ? ? //這里的文件路徑 ,需要加上file///
? ? ? ? string str = "file:///c:/Users/Administrator/Desktop/TestFolder/testPicture.jpg";
? ? ? ? www = new WWW(str);
? ? ? ? texture = www.texture;
? ? ? ? yield return texture;? ? //返回出去的texture即為文件夾中名為testPicture的圖片
? ? }
如果想將加載出來的圖片作為cube的材質(zhì)貼到cube上
?StartCoroutine(loadTexture());
? cube.GetComponent().material.mainTexture =texture ;
(2)根據(jù)文件流加載文件夾中的圖片
string imagePath = "c:/Users/Administrator/Desktop/TestFolder/testPicture.jpg";
FileStream files = new FileStream(imagePath, FileMode.Open);
byte[] imgByte = new byte[files.Length]; files.Read(imgByte, 0, imgByte.Length);
files.Close();
Texture2D newtexture = new Texture2D(100, 100); newtexture.LoadImage(imgByte);
將加載出來的圖片貼到cube上
cube.GetComponent().material.mainTexture = newtexture;
三、復(fù)制一個文件夾中的圖片到另一個文件夾中
? ? ? ? StartCoroutine(loadTexture()); //剛才加載出來的圖片? ? yield return texture;?
? ? ? ? byte[] imagebytes = texture.EncodeToJPG();? //texture為加載出來的圖片
??????? //新圖片存放路徑及圖片名CopyTestPicture
? ? ? ? string dirPath = "c:/Users/Administrator/Desktop/NewTestFolder/CopyTestPicture.jpg";
? ? ? ? File.WriteAllBytes(dirPath, imagebytes);
四、讀取文件夾中文件(圖片)個數(shù)
? ? ? ? string dirPath = "c:/Users/Administrator/Desktop/TestFolder";
? ? ? ? //判斷給定的路徑是否存在,如果不存在則退出
? ? ? ? if (!Directory.Exists(dirPath))
? ? ? ? {
? ? ? ? ? ? return;
? ? ? ? }
? ? ? ? int number = 0;
? ? ? ? //定義一個DirectoryInfo對象
? ? ? ? DirectoryInfo folder = new DirectoryInfo(dirPath);
? ? ? ? //通過GetFiles方法,獲取di目錄中的所有文件的大小
? ? ? ? foreach (FileInfo fi in folder.GetFiles())
? ? ? ? {
? ? ? ? ? ? number++;
? ? ? ? }
? ? ? ? print(number);
五、得到文件夾下的所有文件的名字
? ? ? ? string dirPath = "c:/Users/Administrator/Desktop/TestFolder";
? ? ? ? DirectoryInfo dir = new DirectoryInfo(dirPath);
? ? ? ? FileInfo[] files = dir.GetFiles(); //獲取所有文件信息
? ? ? ? foreach (var file in files)
? ? ? ? {
? ? ? ? ? ? print(file.Name);
? ? ? ? }
六、得到文件夾下的所有文件的路徑
?????? string dirPath = "c:/Users/Administrator/Desktop/TestFolder";
? ? ? ? string[] dirs = Directory.GetFiles(dirPath);
? ? ? ? for (int j = 0; j < dirs.Length; j++)
? ? ? ? {
? ? ? ? ? ? print(dirs[j]);
? ? ? ? }
七、刪除文件夾中圖片
? ? ? ? string imagePath = "c:/Users/Administrator/Desktop/TestFolder/testPicture.jpg";
? ? ? ? if (File.Exists(imagePath))
? ? ? ? {
? ? ? ? ? ? File.Delete(imagePath);
? ? ? ? }
八、得到當前文件夾根目錄下所有的文件夾(子文件夾內(nèi)的內(nèi)容不會輸出)或文件名字
????/// <summary>
? ? /// 得到當前文件夾根目錄下所有的文件夾(子文件夾內(nèi)的內(nèi)容不會輸出)或文件名字
? ? /// </summary>
? ? /// <param name="path"></param>
? ? public List<string> GetFolderRootFileName(string path)
? ? {
? ? ? ? List<string> fileNameList = new List<string>();
? ? ? ? string[] directoryEntries = Directory.GetFileSystemEntries(path);
? ? ? ? // DirectoryInfo dir = new DirectoryInfo(dirPath);
? ? ? ? // FileInfo[] files = dir.GetFiles("*", SearchOption.TopDirectoryOnly); //獲取所有文件信息? ? ? ?
? ? ? ? for (int i = 0; i < directoryEntries.Length; i++)
? ? ? ? {
? ? ? ? ? ? string fileName = directoryEntries[i].Split('\\')[1];
? ? ? ? ? ? if (fileName.EndsWith(".meta"))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? }
? ? ? ? ? ? fileNameList.Add(fileName);
? ? ? ? }
? ? ? ? return fileNameList;
? ? }
九、得到當前文件夾下所有的子文件夾內(nèi)的所有文件的路徑(包括子文件夾文件)
????/// <summary>
? ? /// 得到當前文件夾下所有的子文件夾內(nèi)的所有文件的路徑(包括子文件夾文件)FileInfo.FullName/FileInfo.Name
? ? /// </summary>
? ? /// <param name="path"></param>
? ? /// <returns></returns>
? public List<FileInfo> GetAllFileinfoFromPath(string path)
? ? {
? ? ? ? List<FileInfo> fileinfo= new List<FileInfo>();
? ? ? ? DirectoryInfo dir = new DirectoryInfo(path);
? ? ? ? FileInfo[] files = dir.GetFiles("*", SearchOption.AllDirectories); //獲取所有文件信息? ? ? ?
? ? ? ? for (int i = 0; i < files.Length; i++)
? ? ? ? {
? ? ? ? ? ? if (files[i].Name.EndsWith(".meta"))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? }
? ? ? ? ? //? print(files[i].FullName); //文件路徑
? ? ? ? ? //? print(files[i].Name);? ? //文件名字
? ? ? ? ? ? fileinfo.Add(files[i]);
? ? ? ? }
? ? ? ? return fileinfo;
? ? }
十、將文件夾某一文件復(fù)制到另一個文件夾中
? ? /// <summary>
? ? /// 文件復(fù)制
? ? /// </summary>
? ? /// <param name="targetDir"==要復(fù)制到的文件夾>? </param>
? ? /// <param name="fileName"==要復(fù)制的文件名></param>
? ? public static void CopyDirectory(string targetDir,string fileName)
? ? {
? ? ? ? //起始文件夾
? ? ? ? string fromDir= "C:/Users/Administrator/Desktop/zhang/unity外部配置";
? ? ? ? DirectoryInfo source = new DirectoryInfo(fromDir);
? ? ? ? DirectoryInfo target = new DirectoryInfo(targetDir);
? ? ? ? FileInfo[] files = source.GetFiles();
? ? ? ? File.Copy(fromDir+"/"+ fileName, Path.Combine(targetDir, fileName), true);
? ? }