在不知道包含某个字段的图片有多少张的情况下,我用File file = new File("D:\\track\\");// 图片存放路径
File list[] = file.listFiles();
int count = 0;
for (int i = 0; i < list.length; i++) {
String str = list[i].toString();
if (str.contains("Snap"))
count++;
}
return count;实现,然后再jsp界面循环显示。但是如果图片很多的话 要点这个链接显示图片不是要等很久
而且有没有可能会出现内存溢出的情况,有没有更好的办法。。
File list[] = file.listFiles();
int count = 0;
for (int i = 0; i < list.length; i++) {
String str = list[i].toString();
if (str.contains("Snap"))
count++;
}
return count;实现,然后再jsp界面循环显示。但是如果图片很多的话 要点这个链接显示图片不是要等很久
而且有没有可能会出现内存溢出的情况,有没有更好的办法。。
for(File listi: list){
String str = listi.toString();
if(str.contains("Snap")){
count ++;
}
}
return count;我目前只能这样来,其他的不清楚,首先是你不知道它的数目,要是在数据库的话,那么就很好做了
把你的图片文件放到一个list里(名字符合的),循环这个list显示就可以了
还要明确一点,你是怎么显示图片,用<img>还是说直接在页面画出来?
<% for(int i=1;i<count;i++){ %>
<li>
<a href="images/track/Track-Snap-<%=i%>.png">
<img src="images/track/Track-Snap-<%=i %>.png" /> </a>
</li>
<%} %>
我的意思是你把文件名直接保存到list里,遍历list就可以了
<% for(String s : list){ %>
<li>
<a href="images/track/<%=s %>">
<img src="images/track/<%=s %>" /> </a>
</li>
<%} %>还有你所说的文件多了查找变慢,这个如果数据量大肯定性能上有影响(查询数据库也一样),所以,你可以做个像缓存一样的,把文件夹下的文件保存都某一个list中,查询时过滤这个list(相当于缓存检索)就可以了