读取文件夹文件夹图片并移动至另一个文件夹,1天清空一次
using UnityEngine;
using System.Collections;
using System.IO;
using System;
using System.Linq;
public class SaoMiao : MonoBehaviour
{
//string FolderName = "ScanImages";
//string ReadName = "ReadImages";
public GameObject tu;
float timer = 0;
float timerKeep = 1.5f;
string LuJin;
string ReadLuJin;
void Start()
{
//LuJin = "D:/" + FolderName;
//ReadLuJin = "D:/" + ReadName;
LuJin= Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) + "/ScanFolder";
ReadLuJin= Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) + "/" + Application.productName;
if (!Directory.Exists(LuJin))
{
Directory.CreateDirectory(LuJin);
}
if (!Directory.Exists(ReadLuJin))
{
Directory.CreateDirectory(ReadLuJin);
}
DateTime dt = DateTime.Now;
int year = int.Parse(dt.Year.ToString());
int day = int.Parse(dt.DayOfYear.ToString());
int preyear = 0;
int preday = 0;
if (PlayerPrefs.HasKey("saveyearScan"))
{
preyear = PlayerPrefs.GetInt("saveyearScan");
}
else
{
PlayerPrefs.SetInt("saveyearScan", year);
}
if (PlayerPrefs.HasKey("savedayScan"))
{
preday = PlayerPrefs.GetInt("savedayScan");
}
else
{
PlayerPrefs.SetInt("savedayScan", day);
}
// Debug.Log(year + " " + day + " " + preyear + " " + preday);
if (year > preyear)
{
DesAllTex(ReadLuJin);
PlayerPrefs.SetInt("saveyearScan", year);
PlayerPrefs.SetInt("savedayScan", day);
}
if (year == preyear)
{
if (day > preday)
{
DesAllTex(ReadLuJin);
PlayerPrefs.SetInt("saveyearScan", year);
PlayerPrefs.SetInt("savedayScan", day);
}
if (day == preday)
{
//selectTex(ReadLuJin);
}
}
}
void Update()
{
timer += Time.deltaTime;
if (timer > timerKeep)
{
SearchFolderAndChangeName();
timer = 0;
}
}
void StartTu()
{
string path = LuJin;
//string pattern = "*.jpg";
//string[] strFileName = Directory.GetFiles(path, pattern);
string[] strFileName = (new string[] { "*.png", "*.jpg", "*.bmp" }).SelectMany(pattern =>
{
return Directory.GetFiles(path, pattern, SearchOption.TopDirectoryOnly);
}).Distinct().ToArray();
for (int i = 0; i < strFileName.Length; i++)
{
string texname = strFileName[i].Substring(14, 6);
if (texname == "miaowu")
{
//string oldFile = Path.GetFileName(item);
//string fuName = LuJin + "/" + oldFile;
//File.Move(item, fuName);
tu. transform.GetComponent<CreatFish>().Creat(strFileName[i], i);
}
}
}
void SearchFolderAndChangeName()
{
string path = LuJin;
//string pattern = "*.jpg";
//string[] strFileName = Directory.GetFiles(path, pattern);
string[] strFileName = (new string[] { "*.png", "*.jpg", "*.bmp" }).SelectMany(pattern =>
{
return Directory.GetFiles(path, pattern, SearchOption.TopDirectoryOnly);
}).Distinct().ToArray();
for (int i = 0; i < strFileName.Length; i++)
{
string oldFile = Path.GetFileName(strFileName[i]);
//string fuName = ReadLuJin + "/miaowu" + DateTime.Now.Ticks.ToString() + ".jpg";
string fuName = ReadLuJin + "/" + oldFile;
File.Move(strFileName[i], fuName);
tu.transform.GetComponent<CreatFish>().Creat(fuName, i);
}
//foreach (var item in strFileName)
// {
//string texname = item.Substring(14, 6);
//if (texname != "miaowu")
// {
//string oldFile = Path.GetFileName(item);
//string fuName = ReadLuJin + "/miaowu" + DateTime.Now.Ticks.ToString() + ".jpg";
//File.Move(item, fuName);
//transform.GetComponent<CreatFruits>().Creat(fuName);
// }
//}
}
//图片太多了
void DesMoreTex(string path)
{
//string pattern = "*.jpg";
//string[] strFileName = Directory.GetFiles(path, pattern);
string[] strFileName = (new string[] { "*.png", "*.jpg", "*.bmp" }).SelectMany(pattern =>
{
return Directory.GetFiles(path, pattern, SearchOption.TopDirectoryOnly);
}).Distinct().ToArray();
if (strFileName.Length > 75)
{
for (int i = 0; i < strFileName.Length - 75; i++)
{
File.Delete(strFileName[i]);
}
}
}
//删除文件夹的图片
void DesAllTex(string path)
{
//string pattern = "*.jpg";
//string[] strFileName = Directory.GetFiles(path, pattern);
string[] strFileName = (new string[] { "*.png", "*.jpg", "*.bmp" }).SelectMany(pattern =>
{
return Directory.GetFiles(path, pattern, SearchOption.TopDirectoryOnly);
}).Distinct().ToArray();
//if (strFileName.Length <= 2)
//{
// StartTu();
// return;
//}
for (int i = 0; i < strFileName.Length; i++)
{
File.Delete(strFileName[i]);
}
//Observable.Timer(TimeSpan.FromSeconds(0.5f)).Subscribe(_=>
//{
// StartTu();
// Debug.Log(path + "中的图片都删除了" + (strFileName.Length - 2) + "张!");
//});
}
//取几张图
void selectTex(string path)
{
string pattern = "*.jpg";
string[] strFileName = Directory.GetFiles(path, pattern);
if (strFileName.Length <= 2)
{
StartTu();
return;
}
for (int i = 0; i < 2; i++)
{
string texname = strFileName[i].Substring(14, 6);
if (texname == "miaowu")
{
//string oldFile = Path.GetFileName(strFileName[i]);
//string fuName = LuJin + "/" + oldFile;
//File.Move(strFileName[i], fuName);
tu.transform.GetComponent<CreatFish>().Creat(strFileName[i], i);
}
}
}
}