ในการหาไฟล์แรกที่บันทึกใน folder สิ่งแรกที่ต้องหาคือหาเวลาที่ไฟล์นั้นถูกสร้างขึ้นมาก่อน
ซึ่งในการสร้างไฟล์แต่ละครั้งจะมีเวลาที่สร้างขึ้นมาด้วย ดังนั้นต้องหาเวลา พอหาเวลาได้ก็หาไฟล์ที่ตรงกับเวลานั้นๆ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication29
{
class Program
{
static DateTime[] date;
static DateTime chk_date,min_date;
static FileInfo show_file;
static void Main(string[] args)
{
string path
=@"C:\printfile"; //กำหนด folder ที้ต้องการหาไฟล์แรก
DirectoryInfo info = new DirectoryInfo(path);
date = new DateTime[info.GetFiles().Length];
Console.BackgroundColor = ConsoleColor.Blue;
Console.WriteLine("All Files in directory");
Console.BackgroundColor = ConsoleColor.Green;
foreach (FileInfo file in info.GetFiles())
{
Console.WriteLine(file); //แสดงไฟล์ทั้งหมดใน folder ออกมา
}
for (int i = 0; i < info.GetFiles().Length; i++) //วนลูปไฟล์ทั้งหมดใน folder
{
FileInfo[] file =info.GetFiles();
string filename = null;
date[i] = file[i].CreationTime; //หาวันที่ ที่สร้างไฟล์แต่ละไฟล์
chk_date = date[0]; //กำหนดให้วันที่ของไฟล์แรกเก็บไว้ในตัวแปร chk_date
if (chk_date > date[i]) //ตรวจสอบเงื่อนไขว่าวันที่มากว่าวันที่ในไฟล์ถัดไปหรือไม่
{
min_date = date[i];
}
else
{
min_date = chk_date;
}
}
Console.WriteLine(min_date);
ShowFile(min_date); //เรียกเมธอด ShowFile เพื่อแสดงไฟล์แรกที่บัณทึกใน folder
Console.ReadLine();
}
private static void ShowFile(DateTime min_date)
{
DirectoryInfo dir = new DirectoryInfo(@"C:\printfile");
FileInfo[] file = dir.GetFiles();
for (int i = 0; i < file.Length; i++)
{
if (file[i].CreationTime == min_date)
{
Console.WriteLine(file[i].FullName);
}
}
}
}
}