我只知道用数组或者Vector可以实现

解决方案 »

  1.   

    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]);
      }}
      

  2.   

    删除文件<%@ page contentType="text/html;charset=gb2312"%>
    <%
    String filePath="c:/支出证明单.xls";
    filePath=filePath.toString();
    java.io.File myDelFile=new java.io.File(filePath);
    myDelFile.delete();
    %>
      

  3.   

    文件下载<%@ 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);
         }
    %>