急呀,关于下载的问题,怎样才能把一个文件夹下的所有文件以列表的形式排列出来(包括中文的),点击下载,可以删除 我只知道用数组或者Vector可以实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package com.linewell.oa.admin;import java.io.File;import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import java.util.List;import com.linewell.oa.resource.ResourceContext;/** * IO操作类,读取服务器上存放文件的文件夹,getFileNames()方法返回文件数组 * @author <a href=mailto:[email protected]>[email protected]</a> * @version 1.0 */public class FileViewer { private File MyDir; private File currentFile; private File[] contents; private List list; private Iterator files; private String path; public FileViewer() { path = new String("D:\\eclipse\\workspace\\oa\\xsd\\instance"); list = new ArrayList(); loadFiles(); } /** * 设置浏览路径 * @param path String-浏览路径 */ public void setPath(String path) { this.path = path; } /** * 取得浏览路径 * @return String-浏览路径 */ public String getPath() { return path; } /** * 返回当前目录路径 * @return String-当前目录路径 */ public String getDirectory() { return MyDir.getPath(); } /** * 装载文件 */ private void loadFiles() { MyDir = new File(path); list.clear(); contents = MyDir.listFiles(); //重新装入路径下文件 for (int i = 0; i < contents.length; i++) { list.add(contents[i]); } files = list.iterator(); } /** * 得到文件列表 * @return Iterator-文件列表 */ public Iterator getFiles() { return files; } /** * 得到当前文件 * @return File-当前文件 */ public File getCurrentFile() { return currentFile; } /** * 返回当前文件的文件名 * @return String-当前文件的文件名 */ public String getFileName() { return currentFile.getName(); } /** * 返回当前文件大小 * @return String-当前文件大小 */ public String getFileSize() { return new Long(currentFile.length()).toString(); } /** * 返回当前文件的最后修改日期 * @return String-当前文件的最后修改日期 */ public String getLastModifiedTime() { return new Date(currentFile.lastModified()).toString(); } /** * 返回当前文件目录是否是一个文件夹 * @return boolean-当前文件目录是否是一个文件夹 */ public boolean isDirectory() { return currentFile.isDirectory(); } /** * 移动文件夹的子针,指到下一个目录 成功 true; * @return boolean-是否有下一个文件,如果有返回真;没有返回假 */ public boolean hasNextFile() { return files.hasNext(); } /** * 返回下一个文件 * @return File-下一个文件 */ public File nextFile() { currentFile = (File) files.next(); return currentFile; } /** * 返回所有文件名称 * @return String[]-所有文件名称 */ public String[] getFileNames() { List file = new ArrayList(); while (files.hasNext()) { currentFile = (File) files.next(); if (!isDirectory()) { file.add(getFileName()); } } return (String[]) file.toArray(new String[0]); }} 删除文件<%@ page contentType="text/html;charset=gb2312"%><%String filePath="c:/支出证明单.xls";filePath=filePath.toString();java.io.File myDelFile=new java.io.File(filePath);myDelFile.delete();%> 文件下载<%@ page contentType="text/html; charset=gb2312" %><%@ page import="java.io.*" %><% String fileName = "zsc104.swf".toString();//读到流中InputStream inStream=new FileInputStream("c:/zsc104.swf");//设置输出的格式 response.reset(); response.setContentType("bin"); response.addHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");//循环取出流中的数据 byte[] b = new byte[100]; int len; while((len=inStream.read(b)) >0) response.getOutputStream().write(b,0,len); inStream.close(); %>数据库字段中的文件下载<%@ page contentType="text/html; charset=gb2312" %><%@ page import="java.sql.*"%><%@ page import="java.lang.*" %><%@ page import="java.io.*" %><%@ page import="com.jspsmart.upload.*" %><%@ page import="DBstep.iDBManager2000.*"%><%int bytesum=0;int byteread=0;//打开数据库ResultSet result=null;String Sql=null;PreparedStatement prestmt=null; DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();DbaObj.OpenConnection();//取得数据库中的数据Sql="select * from t_local_zhongzhuan ";result=DbaObj.ExecuteQuery(Sql);result.next();file://将/数据库中的数据读到流中 InputStream inStream=result.getBinaryStream("content"); FileOutputStream fs=new FileOutputStream( "c:/dffdsafd.doc");byte[] buffer =new byte[1444];int length;while ((byteread=inStream.read(buffer))!=-1) { out.println("<DT><B>"+byteread+"</B></DT>"); bytesum+=byteread; System.out.println(bytesum); fs.write(buffer,0,byteread); }%> 如何在一个文本框中,提示出以前输入过的信息? 崩溃的strtuts开发jsp中插入图像!高分求解! MySQL+Hibernate下连接空闲几个小时后自动断开3 new Date()时间不对,怎么办 web.xml文件里几个参数是啥意思? webwork+velocity参数传递 如何在jsp中使用Enter按钮提交页面??? 日期查询 怎么在JSP页面里不支持回车功能? 我这个图像是apple自绘的,然后用GIFEncoder转为gif文件格式,想传给servlet,该怎么做? 大家看看这是什么错啊~~帮帮忙!!谢谢 为什么带参数的createStatment()和last()会报错
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;import com.linewell.oa.resource.ResourceContext;/**
* IO操作类,读取服务器上存放文件的文件夹,getFileNames()方法返回文件数组
* @author <a href=mailto:[email protected]>[email protected]</a>
* @version 1.0
*/
public class FileViewer {
private File MyDir; private File currentFile; private File[] contents; private List list; private Iterator files; private String path; public FileViewer() {
path = new String("D:\\eclipse\\workspace\\oa\\xsd\\instance");
list = new ArrayList();
loadFiles();
}
/**
* 设置浏览路径
* @param path String-浏览路径
*/
public void setPath(String path) {
this.path = path;
} /**
* 取得浏览路径
* @return String-浏览路径
*/
public String getPath() {
return path;
} /**
* 返回当前目录路径
* @return String-当前目录路径
*/
public String getDirectory() {
return MyDir.getPath();
} /**
* 装载文件
*/
private void loadFiles() { MyDir = new File(path); list.clear(); contents = MyDir.listFiles();
//重新装入路径下文件
for (int i = 0; i < contents.length; i++) {
list.add(contents[i]);
}
files = list.iterator();
} /**
* 得到文件列表
* @return Iterator-文件列表
*/
public Iterator getFiles() {
return files;
} /**
* 得到当前文件
* @return File-当前文件
*/
public File getCurrentFile() {
return currentFile;
} /**
* 返回当前文件的文件名
* @return String-当前文件的文件名
*/
public String getFileName() {
return currentFile.getName();
} /**
* 返回当前文件大小
* @return String-当前文件大小
*/
public String getFileSize() {
return new Long(currentFile.length()).toString();
} /**
* 返回当前文件的最后修改日期
* @return String-当前文件的最后修改日期
*/
public String getLastModifiedTime() {
return new Date(currentFile.lastModified()).toString();
} /**
* 返回当前文件目录是否是一个文件夹
* @return boolean-当前文件目录是否是一个文件夹
*/
public boolean isDirectory() {
return currentFile.isDirectory();
} /**
* 移动文件夹的子针,指到下一个目录 成功 true;
* @return boolean-是否有下一个文件,如果有返回真;没有返回假
*/
public boolean hasNextFile() {
return files.hasNext();
} /**
* 返回下一个文件
* @return File-下一个文件
*/
public File nextFile() {
currentFile = (File) files.next();
return currentFile; } /**
* 返回所有文件名称
* @return String[]-所有文件名称
*/
public String[] getFileNames() {
List file = new ArrayList();
while (files.hasNext()) { currentFile = (File) files.next();
if (!isDirectory()) {
file.add(getFileName());
}
}
return (String[]) file.toArray(new String[0]);
}}
<%
String filePath="c:/支出证明单.xls";
filePath=filePath.toString();
java.io.File myDelFile=new java.io.File(filePath);
myDelFile.delete();
%>
<%@ page import="java.io.*" %>
<%
String fileName = "zsc104.swf".toString();
//读到流中
InputStream inStream=new FileInputStream("c:/zsc104.swf");
//设置输出的格式
response.reset();
response.setContentType("bin");
response.addHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");
//循环取出流中的数据
byte[] b = new byte[100];
int len;
while((len=inStream.read(b)) >0)
response.getOutputStream().write(b,0,len);
inStream.close();
%>数据库字段中的文件下载<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.lang.*" %>
<%@ page import="java.io.*" %>
<%@ page import="com.jspsmart.upload.*" %>
<%@ page import="DBstep.iDBManager2000.*"%>
<%
int bytesum=0;
int byteread=0;
//打开数据库
ResultSet result=null;
String Sql=null;
PreparedStatement prestmt=null;
DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();
DbaObj.OpenConnection();
//取得数据库中的数据
Sql="select * from t_local_zhongzhuan ";
result=DbaObj.ExecuteQuery(Sql);
result.next();file://将/数据库中的数据读到流中
InputStream inStream=result.getBinaryStream("content");
FileOutputStream fs=new FileOutputStream( "c:/dffdsafd.doc");byte[] buffer =new byte[1444];
int length;
while ((byteread=inStream.read(buffer))!=-1)
{
out.println("<DT><B>"+byteread+"</B></DT>");
bytesum+=byteread;
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
%>