文件读取的问题
文件夹中有10个图片
a,b,c,d.....
//装载类
public static string[] GFiles(string tempPath)
{
DirectoryInfo dirInfo = new DirectoryInfo(tempPath);
string[] f = Directory.GetFiles(tempPath);
return f;
}
//获取类
string xx= "D:\aa ";
string[] aa = GFiles(Server.MapPath(aa));
问题:
读取图片的时候不知道怎么设置它按文件夹中的文件现在排列读取.搞得现在读取的时候随机读取
比如:aa[0]有时候是文件a,有时候是f...请教如果设置读取文件时能按现有文件夹中的文件排列读取..
------解决方案--------------------这里我想你就要根据文件名来判断啦!在某个地方要使用哪个文件你应该是知道的吧!
------解决方案--------------------读取图片的时候不知道怎么设置它按文件夹中的文件现在排列读取.搞得现在读取的时候随机读取
比如:aa[0]有时候是文件a,有时候是f...请教如果设置读取文件时能按现有文件夹中的文件排列读取..
========================
不知道你这样做有何用意?
------解决方案--------------------从目录读取的文件放在LIST中,然后按你原来目录中的次序排列就行了
------解决方案--------------------string dir = @ "D:\ProjectSRC\Images\20070726193917 ";
DirectoryInfo di = new DirectoryInfo(dir);
ArrayList Array=new ArrayList();
FileInfo[] fis = di.GetFiles();
Array.Sort(fis, new SortFile(SortOption.FileName));
foreach(FileInfo fi in fis)
{
Response.Write(fi.Name+ " <br/> ");
}
Array.Sort(fis, new SortFile(SortOption.FileName))这句是调用下面的一个类
using System;
using System.Collections;
using System.IO;
public enum SortOption
{
FileName,
Extension,
CreationTime
}
public class SortFile:IComparer
{
SortOption mso;
public SortFile(SortOption so)
{
mso = so;
}
int IComparer.Compare(object a, object b)
{
FileInfo fa = (FileInfo)a;
FileInfo fb = (FileInfo)b;
switch(mso)
{
case SortOption.FileName:
return String.Compare(fa.Name,fb.Name,true);
break;
case SortOption.Extension:
return String.Compare(Path.GetExtension(fa.Name),Path.GetExtension(fb.Name),true);
break;
case SortOption.CreationTime:
return DateTime.Compare(fa.CreationTime,fb.CreationTime);
break;
default:
break;;
}
return 0;
}
}