一、在桌面创建文件夹 C:\Users\Administrator\Desktop(桌面路径)
string path = "c:/Users/Administrator/Desktop/TestFolder"; //TestFolder要创建得文件夹的名字
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的材质贴到cube上
StartCoroutine(loadTexture());
cube.GetComponent().material.mainTexture =texture ;
(2)根据文件流加载文件夹中的图片
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;
三、复制一个文件夹中的图片到另一个文件夹中
StartCoroutine(loadTexture()); //刚才加载出来的图片 yield return texture;
byte[] imagebytes = texture.EncodeToJPG(); //texture为加载出来的图片
//新图片存放路径及图片名CopyTestPicture
string dirPath = "c:/Users/Administrator/Desktop/NewTestFolder/CopyTestPicture.jpg";
File.WriteAllBytes(dirPath, imagebytes);
四、读取文件夹中文件(图片)个数
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);
}
八、得到当前文件夹根目录下所有的文件夹(子文件夹内的内容不会输出)或文件名字
///
/// 得到当前文件夹根目录下所有的文件夹(子文件夹内的内容不会输出)或文件名字
///
///
public List
{
List
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;
}
九、得到当前文件夹下所有的子文件夹内的所有文件的路径(包括子文件夹文件)
///
/// 得到当前文件夹下所有的子文件夹内的所有文件的路径(包括子文件夹文件)FileInfo.FullName/FileInfo.Name
///
///
///
public List
{
List
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;
}
十、将文件夹某一文件复制到另一个文件夹中
///
/// 文件复制
///
///
///
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);
}