<h1>Directories</h1>
<ul>
<%
String root="c:/Repository/WebApplication/mydocs/javadoc/";
java.io.File file;
java.io.File dir = new java.io.File(root);
String[] list = dir.list();
if (list.length > 0) {
for (int i = 0; i < list.length; i++) {
file = new java.io.File(root + list[i]);
if (file.isDirectory()) {
%>
<li><a href="javadoc/<%=list[i]%>" target="_top"><%=list[i]%></a><br>
<%
}
}
}
%>
</ul>
以上代码有效,即列出了所有文件,我只想列出特定扩展名的文件,例如.txt。任何人都可以告诉我如何解决这个问题吗?
答案 0 :(得分:3)
您需要一个FilenameFilter并以这样的方式实现方法accept,使您只接受具有所需扩展名的文件。
以下是示例代码
new File("").list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
请注意,此代码不区分大小写,因此将过滤掉以.TXT
结尾的文件。您可能需要提取扩展名,然后使用equalsIgnoreCase进行比较。或者,您可以在致电LowerCase之前endsWith name
。
答案 1 :(得分:0)
<%@ page import="java.io.*" %>
<%
String file = application.getRealPath("/results");
File f = new File(file);
String [] fileNames = f.list();
int i = 0;
String fname=null;
File [] fileObjects= f.listFiles();
BufferedReader readReport;
int num=0;
{
%>
<table name="reports">
<th width=12.5% align="center" bgcolor="gray">Execution ID</th>
<th width=12.5% align="center" bgcolor="gray">Parent suite name</th>
<th width=12.5% align="center" bgcolor="gray">Execution date</th>
<th width=12.5% align="center" bgcolor="gray">Total execution time(seconds)</th>
<th width=12.5% align="center" bgcolor="gray">Pass</th>
<th width=12.5% align="center" bgcolor="gray">Fail</th>
<th width=12.5% align="center" bgcolor="gray">Skip</th>
<th width=12.5% align="center" bgcolor="gray">Summary</th>
<%
}
for (i=0; i < fileObjects.length; i++)
{
if(!fileObjects[i].isDirectory())
{
fname = "../results/"+fileNames[i];
if(fname.endsWith(".html"))
{
String Name = fileNames[i].substring(0, fileNames[i].indexOf('.'));
{
%>
<tr bgcolor="lightgray">
<td width=12.5% align="center">
<%=Name%>
</td>
<td width=12.5% align="center">
</td>
<td width=12.5% align="center">
</td>
<td width=12.5% align="center">
</td>
<td width=12.5% align="center">
</td>
<td width=12.5% align="center">
</td>
<td width=12.5% align="center">
</td>
<td width=12.5% align="center">
<a HREF="<%= fname %>" target="loadReport"><button>View</button></a>
</td>
</tr>
<%
}
}
}
}
{%></table> <%}
%>