<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    數據加載中……
    Java 文件操作
    2008年5月1日   Edited By DingDangXiaoMa
    Java 對文件的操作有很多種方法,類也很多,這里舉出最簡單的測試例子,讀取文件輸入輸出數據庫操作。
    以下是部分源代碼:
    package com.zh.wsdy.dao;

    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;

    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.Transaction;

    import com.zh.wsdy.model.AjPrgWsmb;
    import com.zh.wsdy.model.BaseHibernateDAO;
    import com.zh.wsdy.model.Wtest;

    //測試讀寫文件及讀文件到數據庫中。。。
    public class TestDAO extends BaseHibernateDAO {
        
    private static final int BUFFER_SIZE = 16 * 1024;

        
    public TestDAO() {

        }

        
    /**
         * 測試程序,把讀取一個文件,把個文件的內容,以字節的形式保存到數據中去。
         
    */
        
    public void saveFileStreamToDataBase(String id) {
            
    // 先進進行數據庫方面的操作。連接及新建類。
            Session session = getSession();
            Wtest test 
    = new Wtest(id);

            
    // 以下是文件的定義。
            File file = new File("c:" + File.separator + "response.txt");
            
    // File file = new File("c:" + File.separator + "a.java");
            
    // File file = new File("c:" + File.separator + "word.doc");

            
    try {
                FileInputStream inputStream 
    = new FileInputStream(file);
                BufferedInputStream bufferedInputStream 
    = new BufferedInputStream(
                        inputStream);
                
    byte[] buffer = new byte[BUFFER_SIZE];
                
    while (bufferedInputStream.read(buffer) > 0) {
                    test.setWcontent(buffer);
                }
                Transaction trac 
    = session.beginTransaction();
                trac.begin();
                session.save(test);
                System.out.println(
    "插入一條數據成功.");
                trac.commit();
            } 
    catch (Exception e) {
                e.printStackTrace();
            }
        }

        
    /**
         * 傳遞主鍵參數,從數據庫中讀取數據。
         * 
         * 
    @param id
         
    */
        
    public void ReadDataBaseStreamToString(String id) {
            Session session 
    = getSession();
            Query query 
    = session.createQuery("from AjPrgZdms m where m.FId =:id");
            
    // Query query = session.createQuery("from Wtest t where t.wid =:id ");
            query.setString("id", id);
            AjPrgWsmb test 
    = (AjPrgWsmb) query.list().get(0);
            
    // Wtest test = (Wtest)query.list().get(0);
            
    // byte [] content = test.getWcontent();
            byte[] content = test.getFWsys();
            System.out.print(content); 
    // 在這里直接輸出字節,沒有進行字符串的轉換。
            
    // String contentString = new String(content); //進行轉換,把字節轉換成String
            
    // System.out.print("the String is : "+contentString);
        }

        
    /**
         * 從數據庫讀取byte型數據,寫入當地文件,看一下,寫入與原始文件的差別。
         * 
         * 
    @param id
         
    */
        
    public void writeFileFromDataBase(String id) {
            Session session 
    = getSession();
            Query query 
    = session.createQuery("from Wtest t  where t.wid =:id");
            query.setString(
    "id", id);
            Wtest test 
    = (Wtest) query.list().get(0);
            
    byte[] content = test.getWcontent();
            
    try {
                BufferedOutputStream out 
    = new BufferedOutputStream(
                        
    new FileOutputStream("c:\\word2.doc"));
                out.write(content);
                System.out.println(
    "從數據庫中讀取數據,并寫入相應的文件中。。。");
            } 
    catch (Exception e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
    // System.out.print(content); //在這里直接輸出字節,沒有進行字符串的轉換。
        }

        
    /**
         * 這個測試的方法是,從AjPrgWsmb表中,讀取數據,寫入到相應的文件中去。
         * 
         * 
    @param id
         
    */
        
    public void writeFile(String id) {
            Session session 
    = getSession();
            Query query 
    = session.createQuery("from AjPrgWsmb m where m.FId =:id");
            
    // Query query = session.createQuery("from Wtest t where t.wid =:id ");
            query.setString("id", id);
            AjPrgWsmb test 
    = (AjPrgWsmb) query.list().get(0);
            
    // Wtest test = (Wtest)query.list().get(0);
            
    // byte [] content = test.getWcontent();
            
    //byte[] content = test.getFWsys();
            byte[] content = test.getFContent();
            
    if(content!=null){
            
    try {
                BufferedOutputStream out 
    = new BufferedOutputStream(
                        
    new FileOutputStream("c:\\word2.doc"));
                out.write(content);
                System.out.println(
    "從數據庫中讀取數據,并寫入相應的文件中。。。");
            } 
    catch (Exception e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }
            }
    else{
                System.out.println(
    "這個文書模板樣式為空值。。。。。");
            }
        }

        
    /**
         * 
    @param args
         
    */
        
    public static void main(String[] args) {
            TestDAO test 
    = new TestDAO();
            
    // test.saveFileStreamToDataBase("txt"); // 保存一條數據到數據庫中,主鍵為txt,word,java
            
    // test.ReadDataBaseStreamToString("word");
            
    // test.writeFileFromDataBase("0000000010");
            test.writeFile("0000000023");

        }

    }
    以上的例子很簡單,是一些普通的文件的操盤。

    posted on 2008-05-01 17:04 叮當小馬 閱讀(241) 評論(0)  編輯  收藏 所屬分類: JSP/JAVA

    主站蜘蛛池模板: 午夜亚洲乱码伦小说区69堂| 久久久久久亚洲精品| 亚洲国产综合第一精品小说| 精品免费视在线观看| 亚洲日韩激情无码一区| 国产日韩在线视频免费播放| 亚洲国产精品日韩| 免费一级全黄少妇性色生活片| 国产一级做a爱免费视频| 亚洲一区二区三区国产精华液| 免费看片免费播放| 国产精品亚洲综合网站| 亚洲 综合 国产 欧洲 丝袜 | 久久亚洲AV成人无码国产最大| 国产三级在线观看免费| 亚洲中文字幕一区精品自拍| 日本v片免费一区二区三区 | 免费萌白酱国产一区二区三区| 亚洲av无码专区国产乱码在线观看| 免费视频精品一区二区三区| 亚洲伦另类中文字幕| 亚洲精品视频在线观看免费| 亚洲精品高清国产麻豆专区| 99热在线精品免费全部my| 亚洲午夜福利在线视频| jizzjizz亚洲| 久久99国产综合精品免费| 亚洲中文字幕无码av| 国产亚洲欧洲Aⅴ综合一区| 久久精品免费观看| 亚洲一区二区三区四区视频 | 少妇性饥渴无码A区免费| 亚洲白色白色在线播放| 国产无遮挡裸体免费视频| 国产美女视频免费观看的网站 | 亚洲XX00视频| 无码精品一区二区三区免费视频 | 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 1000部拍拍拍18勿入免费视频下载 | 尤物视频在线免费观看| 日韩亚洲Av人人夜夜澡人人爽 |