<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 叮當小馬 閱讀(231) 評論(0)  編輯  收藏 所屬分類: JSP/JAVA

    主站蜘蛛池模板: 国产在线精品观看免费观看| 亚洲国产日韩综合久久精品| 免费在线观看一区| 国产精品亚洲精品| 久久精品一本到99热免费| 国产精品亚洲综合专区片高清久久久| 性色av免费观看| 亚洲国产日韩在线一区| 国产高清免费视频| 亚洲综合一区二区精品久久| 在线观看免费中文视频| 中文字幕亚洲精品| 亚洲精品第一国产综合野| 中文字幕乱码免费视频| 亚洲伦理中文字幕| 成人超污免费网站在线看| 亚洲国产精品嫩草影院| 日本高清免费不卡视频| 亚洲国产成人私人影院| 99免费在线观看视频| 国产免费AV片无码永久免费| 国产亚洲精品免费| 亚洲男人的天堂一区二区| 中文在线免费看视频| 久久国产亚洲精品无码| 国产无人区码卡二卡三卡免费| 亚欧免费视频一区二区三区| 亚洲AV无码乱码在线观看富二代 | 9420免费高清在线视频| 97亚洲熟妇自偷自拍另类图片 | 国产男女猛烈无遮挡免费视频 | 婷婷亚洲天堂影院| 亚洲人成影院在线| 美女视频黄a视频全免费| 亚洲暴爽av人人爽日日碰| 国产精品亚洲mnbav网站| 99re免费99re在线视频手机版| 久久激情亚洲精品无码?V| 国产精品永久免费| 亚洲欧洲国产经精品香蕉网| 最近中文字幕免费大全|