讀取文件夾圖片

讀取文件夾文件夾圖片並移動至另一個文件夾,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);
            }
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章