网站WEB文档本地读取组件

来源:互联网 发布:淘宝申请签约海外买手 编辑:程序博客网 时间:2024/04/30 09:09
package apps.siteStatic.locFileServer.htmlDoc.service;

import apps.siteStatic.locFileServer.bio.service.LocFileBIOService;
import java.io.File;
import java.util.Calendar;
import java.util.Date;

/**
 *
 * @author Administrator
 *
 * 文件底层的唯一性
 * 时间路径
 * 文件类别/空间 docSpace *  
 * 文件ID号 fileID
 *
 *
 *
 *
 */
public class HtmlDocFileIOService {
    
    
       
    private static HtmlDocFileIOService instance;
    
    //Html文档本地存储路径
    
    private String htmlDocBaseStoreDir="D:/html";

    public String getHtmlDocBaseStoreDir() {
        return htmlDocBaseStoreDir;
    }

    public void setHtmlDocBaseStoreDir(String htmlDocBaseStoreDir) {
        this.htmlDocBaseStoreDir = htmlDocBaseStoreDir;
    }
    

    
    public synchronized  static HtmlDocFileIOService getInstance(){
        
        
        if(instance==null){
            instance=new HtmlDocFileIOService();
        }
        
        return instance;
    }
    
    private HtmlDocFileIOService(){
     init();
    }
    
    public void init(){
    
        //初始化参数
        this.htmlDocBaseStoreDir="D:/html";
        
        
    }
    /*
    文档修改时间
    */
    public long lastModified(String docDir,String fileId,java.util.Date pathTime){
         
      //文件完整路径  
     String docFileFullPath=getHtmlDocFullPath( docDir, fileId,pathTime);
       return  LocFileBIOService.getInstance()
               .lastModified(new File(docFileFullPath));
        //   f.lastModified();
      }
    
      /*
        文档长度
    */
    public long length(String docDir,String fileId,java.util.Date pathTime){
         
      //文件完整路径  
     String docFileFullPath=getHtmlDocFullPath( docDir, fileId,pathTime);
       return  LocFileBIOService.getInstance()
               .length(new File(docFileFullPath));
        //   f.lastModified();
      }
    
    
    //测试文件是否存在
    public boolean exits(String docDir,String fileId,java.util.Date pathTime){
         
      //文件完整路径  
     String docFileFullPath=getHtmlDocFullPath( docDir, fileId,pathTime);
      return   LocFileBIOService.getInstance()
               .exists(new File(docFileFullPath));
    }
    
    
     public boolean delete(String fileContent, String docDir, String fileId, Date pathTime) {
       
               //文件完整路径  
     String docFileFullPath=getHtmlDocFullPath( docDir, fileId,pathTime);
      return   LocFileBIOService.getInstance()
               .delete(new File(docFileFullPath));
         
    }
    
    
    //写取文件
        public boolean write(String fileContent,String docDir,String fileId,long pathTime){
        
            return write( fileContent, docDir, fileId,new java.util.Date (pathTime) );
            
        }
       
    public boolean write(String fileContent,String docDir,String fileId,java.util.Date pathTime){
       
      //文件完整路径  
     String docFileFullPath=getHtmlDocFullPath( docDir, fileId,pathTime);
              
        return  LocFileBIOService.getInstance()
                  .write(docFileFullPath, fileContent);
          
    }
    
    
      public String read(String docDir,String fileId,long pathTime){
       return   read( docDir, fileId, new java.util.Date( pathTime) );
      }
        
    public String read(String docDir,String fileId,java.util.Date pathTime){
       
       
      //文件完整路径  
     String docFileFullPath=getHtmlDocFullPath( docDir, fileId,pathTime);
         
        return  LocFileBIOService.getInstance().read(docFileFullPath);
    }
    
    /*
    创建Html文件 完整路径
    */
    
    public String getHtmlDocFullPath(String docDir,String fileId,java.util.Date pathTime){
        
                //生成路径
        //时间路径
     String timePath_file=getTimePath(pathTime);
               
        String filePath=docDir+timePath_file+"/"+fileId+".html";
        
         //写入文件
              System.out.println( "写入文件:"+filePath);
              
              
             //完整本地文件路径
              String fullPath= getHtmlDocBaseStoreDir()+ "/"+filePath;
              
              fullPath=fullPath.replace("\\", "/");
              
              return fullPath;
    }
    
    
    /*
    
    时间路径
     String timePath_file=getTimePath(java.util.Date pathTime);
    */
    
    public String getTimePath(java.util.Date pathTime ){
              //生成路径
     Calendar c=  Calendar.getInstance();
        c.setTime(pathTime);
        
     int year=   c.get(Calendar.YEAR);
     
     int month=c.get(Calendar.MONTH);
     
     int day=c.get(Calendar.DAY_OF_MONTH);
     
     int hour=c.get(Calendar.HOUR_OF_DAY);
     
     int minute=c.get(Calendar.MINUTE);
     int second=c.get(Calendar.SECOND);
     String timePath_file = "/"+ year + "/"+month+"/"+day+"/"+hour+"/"+minute+"/"+second ;
     
     return timePath_file;
        
    }
         
    
    public static void main(String argvs[]){
        
        
        HtmlDocFileIOService s=HtmlDocFileIOService.getInstance();
        
        
       String fileContent=" html file content";
       
       String docDir="cms";
       
       String fileId="a151394649s1";
       long pathTime=System.currentTimeMillis();
       
                System.out.println("write:"+  s.write(fileContent, docDir, fileId, pathTime));
        
        
        
        System.out.println("read:"+s.read(docDir, fileId, pathTime) );
        
        
        
        
    }

   
         
}
package apps.siteStatic.locFileServer.bio.service;

import java.io.FileInputStream;
import java.io.FileOutputStream;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;


/**
 *
 * HTML文档 IO读写服务
 *
 *
 * 网络模型:
 *
 * Servlet(Thread) /BIO/HTML文档
 *
 *
 *IO :BIO
 *  
 * Version:1.0
 *
 *
 *
 * @author Administrator
 *
 *
 */
public class LocFileBIOService {
    
    private static LocFileBIOService instance;
    private LocFileBIOService(){}
    
    //文件编码
    private String fileEncode="utf-8";
    
    public synchronized  static LocFileBIOService getInstance(){
        
        
        if(instance==null){
            instance=new LocFileBIOService();
        }
        
        return instance;
    }
    
    
    public String read(String file){
        File f=new File(file);
         return read( f);
    }

    public String read(File file){
           
        StringBuffer bf=new StringBuffer();
         try {
             
             FileInputStream fi=new FileInputStream(file);
             
             //utf-8
             java.io.InputStreamReader ir=new  java.io.InputStreamReader(fi,this.getFileEncode());
             
             java.io.BufferedReader bi=new   java.io.BufferedReader (ir);
             
             
             
             String br=   bi.readLine();
         
            while(br!=null){
                bf.append(br);
                
                br=   bi.readLine();
            }
            
            
            bi.close();
            
            ir.close();
            
            fi.close();
          
             
             
             
         } catch (FileNotFoundException ex) {
             
      
             Logger.getLogger(LocFileBIOService.class.getName()).log(Level.SEVERE, null, ex);
         } catch (IOException ex) {
               
             Logger.getLogger(LocFileBIOService.class.getName()).log(Level.SEVERE, null, ex);
         }
         
         return bf.toString();
         
    }
       
       
    public  boolean  write(String fileStr,String webContent){
          
          File file=new File(fileStr);
          
         return   write(file, webContent);
    }
    
    
 

      public  boolean  write(File file,String webContent){
          
          //目录测试
         boolean isok=false;
        File parentFile=  file.getParentFile();
        if(parentFile.exists()==false){
            parentFile.mkdirs();
        }
          
         try {
             
             FileOutputStream fo=new FileOutputStream(file);
             
             //utf-8
             
             java.io.OutputStreamWriter or=new  java.io.OutputStreamWriter(fo,this.getFileEncode());
             
             java.io.BufferedWriter bo=new   java.io.BufferedWriter (or);
             
             bo.write(webContent);
             
             bo.flush();
             
             //
             bo.close();
             
             or.close();
             
             fo.close();
             
             
                isok=true;
             
         } catch (FileNotFoundException ex) {
             
             isok=false;
             Logger.getLogger(LocFileBIOService.class.getName()).log(Level.SEVERE, null, ex);
         } catch (IOException ex) {
                isok=false;
             Logger.getLogger(LocFileBIOService.class.getName()).log(Level.SEVERE, null, ex);
         }
         
         
         return isok;  
    }
        public long lastModified(File f){
         return  f.lastModified();
      }
      
    public long length(File f){
         return  f.length();
      }
      
      public boolean exists(File f){
         return  f.exists();
      }
      


    public boolean delete(File file) {
       // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    
        if(file.exists()==true){
          return file.delete();
           
          
        }else{
            return false;
        }
        
    }
    
          public static void main(String argvs[]){
          
          //写入文件
              System.out.println( "写入文件");
          LocFileBIOService.getInstance()
                  .write("D:/test.txt", "aabbcc");
          
          //读取文件
          
            System.out.println( "读取文件");
         System.out.println(  LocFileBIOService.getInstance().read("D:/test.txt") );
          
      }


        public String getFileEncode() {
            return fileEncode;
        }


        public void setFileEncode(String fileEncode) {
            this.fileEncode = fileEncode;
        }
    
}


0 0
原创粉丝点击