日期:2014-05-18  浏览次数:20415 次

文件读取的问题
文件夹中有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;
}
}