1

ディレクトリとそのファイルをリンク形式で表示したいのですが、ディレクトリをクリックすると、そのディレクトリ内のファイルが表示されます。ディレクトリをリンクとして取得しようとしましたが、ファイルの取得方法がわかりません。

ディレクトリをリンクとして取得するための私のコード。

<%
try{
File dirName = new File("/home/adapco/Desktop/Startest/");

if (dirName.exists()&& dirName.isDirectory())
{
//out.print("path: " + dirName.getAbsolutePath() + "<br>");
String[] allFiles = dirName.list();
for (int i=0; i < allFiles.length; i++)
{
out.println(allFiles[i] + "<br>");
%>
<a href="Startest/<%=allFiles[i]%>"><%=allFiles[i]%></a>
}
}
}
catch (IOException ex){
out.println("Exception Occured");
}
%>

同じ方法でファイルを取得しようとしましたが、機能しません

File folder = new File("/home/adapco/Desktop/Startest/");
File[] listOfFiles = folder.listFiles();

ディレクトリとファイルの両方を取得し、それらをリンクして参照する方法を知りたいです。

4

1 に答える 1

1

folder.listFiles()の結果は、ファイルとディレクトリの配列です。それはすべてそこにあります。file.isDirectory()またはfile.isFile()を使用して、それがディレクトリかファイルかを検出できます。

「/filesystem/ *」にマップされたサーブレット/コントローラがあり、filesystem / folder1 / folder2-> folder1/folder2の後にあるパスを抽出できます。このパスにファイルシステムを追加し、ファイルを作成してフォルダのコンテンツを返します。したがって、folder2へのリンクは次のようになります。

<a href="<c:url value='/filesystem/folder1/folder2'/>">folder2</a>

URLシンボルでサポートされていないエンコードを行うには、フォルダー名にURLEncoder()を使用します。

于 2012-05-30T06:55:52.143 に答える