我的这个文件夹(C:\Documents and Settings\Administrator\桌面\images\img)里面 有50张图片,我现在的需求是:从这50张图片张读取16张图片,public List<File> storeFile(File file)
{
List<File> list = new ArrayList<File>();
.....
......
.....
return list;
}当我每执行这个方法是,list里面存放的file都要与上次执行这个方法存放的file有不同。
{
List<File> list = new ArrayList<File>();
.....
......
.....
return list;
}当我每执行这个方法是,list里面存放的file都要与上次执行这个方法存放的file有不同。
ArrayList<String> flist, boolean isconsubdir) {
// 获得某个目录下的所有文件列表(可以包括子目录)
String ffullpath = rootpath + File.separator + filepath;
File file = new File(ffullpath); if (file.exists() && file.isDirectory()) {
String[] fileStr = file.list();
for (int i = 0; i < fileStr.length; i++) {
if (new File(ffullpath + File.separator + fileStr[i])
.isDirectory()) {
if (isconsubdir) {
// 是否包含子目录文件
flist.add("#");// 纪录以下是是目录
flist.add(filepath + File.separator + fileStr[i]);
getAllFile(rootpath, filepath + File.separator
+ fileStr[i], flist, isconsubdir);
}
} else {
flist.add(filepath + File.separator + fileStr[i]);
System.out.println(filepath + File.separator + fileStr[i]);
}
} }
}
{
List <File> allFile = new ArrayList <File>();
List <File> list = new ArrayList <File>();
File[] files = file.listFiles();
for(File f:files){
allFile.add(f);
}
Random random = new Random();
for (int i = 0; i < 16; i++) {
int j=random.nextInt(allFile.size());
list.add(allFile.get(j));
allFile.remove(j);
}
return list;
}
int dirnum = 0;
ArrayList<String> flist = new ArrayList<String>();
ReadFileandDir.getAllFile(oldPath, "", flist, true);//得到某个目录下的全部文件和文件夹
while (flist.size() != 0) {
temp = flist.get(0);
// if (temp.endsWith(type))
// System.out.println(temp);
if (temp.startsWith("#")) {
dirnum++;
} else {
if (dirnum > 0) {
//System.out.println("below is dir");
new File(newPath + temp).mkdir();
dirnum--;
} else {
// 如果是文件则dosometing
if (temp.endsWith(type))
BmpToBit(oldPath + temp);
//BMPReverse(oldPath + temp, newPath + temp);
}
}
flist.remove(0);
}
}
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
File folder = new File("C:/Windows/System32"); List files = getRandomFiles(folder); int index = 1; for (Iterator iterator = files.iterator(); iterator.hasNext();) {
File file = (File) iterator.next(); System.out.println((index++) + " File :" + file.getCanonicalPath());
}
} private static List getRandomFiles(File folder) {
FilenameFilter filter = new FilenameFilter() {
private int count = 0;
private Random seed = new Random(); @Override
public boolean accept(File dir, String name) {
int hashBase = seed.nextInt(10); if (count >= 16) {
return false;
} if (name.hashCode() % 10 == hashBase) {
count++; return true;
} return false;
} }; File[] files = folder.listFiles(filter); return Arrays.asList(files);
}}== 输出:
1 File :C:\WINDOWS\system32\oleaccrc.dll
2 File :C:\WINDOWS\system32\perfmon.msc
3 File :C:\WINDOWS\system32\prnmngr.vbs
4 File :C:\WINDOWS\system32\pschdprf.ini
5 File :C:\WINDOWS\system32\psnppagn.dll
6 File :C:\WINDOWS\system32\rasdial.exe
7 File :C:\WINDOWS\system32\rsmui.exe
8 File :C:\WINDOWS\system32\rtm.dll
9 File :C:\WINDOWS\system32\scriptpw.dll
10 File :C:\WINDOWS\system32\secpol.msc
11 File :C:\WINDOWS\system32\services.msc
12 File :C:\WINDOWS\system32\setup.bmp
13 File :C:\WINDOWS\system32\setver.exe
14 File :C:\WINDOWS\system32\sprestrt.exe
15 File :C:\WINDOWS\system32\system.drv
16 File :C:\WINDOWS\system32\taskkill.exe