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

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

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

    yegucheng

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      9 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

    2007年3月7日 #

         摘要: 圖片縮放功能的實(shí)現(xiàn)(這里只實(shí)現(xiàn)了圖片縮小功能,放大原理類似)  閱讀全文
    posted @ 2007-12-15 16:06 yegucheng 閱讀(1879) | 評(píng)論 (0)編輯 收藏

         摘要: 在weblogic中,不能將 JDBC 存儲(chǔ)配置為使用配置為支持全局事務(wù)的 JDBC 數(shù)據(jù)源  閱讀全文
    posted @ 2007-12-07 21:36 yegucheng 閱讀(2294) | 評(píng)論 (0)編輯 收藏

         摘要: 很多筆記本的讀卡器,在2003下都不能識(shí)別,使用上面的驅(qū)動(dòng)可以解決這一問題
      閱讀全文
    posted @ 2007-11-11 15:28 yegucheng 閱讀(488) | 評(píng)論 (0)編輯 收藏

         摘要: 使用Collections.emptyList()生成的List不支持add方法  閱讀全文
    posted @ 2007-10-29 12:28 yegucheng 閱讀(2461) | 評(píng)論 (1)編輯 收藏

    筆者的場景是這樣的,筆者使用code smith作為代碼生成工具,并在Eclipse中做插件開發(fā),code smith天生
    對(duì)GB的支持比較弱,只能生成UTF-8編碼,這在Eclipse開發(fā)的過程中不會(huì)存在問題,但是在使用Eclipse的導(dǎo)出
    功能時(shí),Eclipse底層使用ANT的執(zhí)行方式,ANT的默認(rèn)字符集默認(rèn)使用當(dāng)前系統(tǒng)的字符集,這時(shí)在編譯導(dǎo)出的時(shí)候,
    會(huì)出現(xiàn)字符無法識(shí)別的問題,導(dǎo)致導(dǎo)出或者打包失敗。
     一種方式可以改變Eclipse工程的默認(rèn)字符集,以及自動(dòng)生成的ant配置文件中字符集的配置,這對(duì)于單個(gè)工程是有
    效的,但處理工程間依賴時(shí),被依賴的工程同樣會(huì)出現(xiàn)字符集問題,即使被依賴工程設(shè)定ant的字符集。
     另一種方式,是手工轉(zhuǎn)換,講UTF-8的字符集轉(zhuǎn)換為GBK的,微軟的網(wǎng)站提供了一個(gè)批量轉(zhuǎn)換工具,但是在轉(zhuǎn)換之后,
    文檔的最前面還會(huì)有可能存在多于字符,并導(dǎo)致ant打包失敗
     最后,沒辦法自己寫了一個(gè)字符集轉(zhuǎn)換工具,因?yàn)槭亲约河茫詨蛴镁托校旅媸寝D(zhuǎn)換部分的代碼,實(shí)現(xiàn)UTF8到
    GBK的轉(zhuǎn)換,其他轉(zhuǎn)換可以對(duì)代碼稍作修改。

     
    import org.apache.commons.lang.ArrayUtils;

    public class EncodeRepairTool {
     public static final byte[] bPre = "EFBBBF".getBytes();
     private int i = 0;

     /**
      * @param args
      */
     public static void main(String[] args) {  
      String path = "D:\\eclipse-dev-3.3\\workspace";
      File file = new File(path);
      EncodeRepairTool scanner = new EncodeRepairTool();
      scanner.scanFolder(file);

     }

     

     public void scanFolder(File file) {
      if (file.isDirectory()) {
       File[] files = file.listFiles();
       for (int i = 0; i < files.length; i++) {
        scanFolder(files[i]);
       }
      } else if (file.getName().endsWith(".java")) {
       removePreCode(file);
      }
     }

     private void removePreCode(File file) {
      try {
       FileInputStream fis = new FileInputStream(file);
       int size = fis.available();
       if (size < 24) {
        return;
       }
       i ++ ;
       byte[] bs = new byte[size];
       fis.read(bs);
       byte[] tbs = ArrayUtils.subarray(bs, 0, 3);
       byte[] tbs1 = new byte[] { new Integer(0xEF).byteValue(),
         new Integer(0xBB).byteValue(),
         new Integer(0xBF).byteValue() };
       boolean bol = false;
       if (tbs[0] == tbs1[0] && tbs[1] == tbs1[1] && tbs[2] == tbs1[2]) {
        bol = true;
       }
       fis.close();
       if (!bol) {
        System.out.println("  " + i + " : " + file.getName());
        tbs = bs;
       }
       else {
        System.out.println("**" + i + " : " + file.getName());
        tbs = ArrayUtils.subarray(bs, 3, size);
        
       }   
       InputStreamReader reader = new InputStreamReader(new ByteArrayInputStream(tbs), "UTF-8");
       BufferedReader br = new BufferedReader(reader);
       StringBuffer buffer = new StringBuffer();
       String s = br.readLine();
       while (s != null) {
        buffer.append(s);
        buffer.append("\n");
        s =  br.readLine();
       }
       reader.close();
       byte[] nbs = buffer.toString().getBytes("GBK");   
       FileOutputStream fos = new FileOutputStream(file);
       fos.write(nbs);
       fos.flush();
       fos.close();
       
      } catch (FileNotFoundException e) {
       // TODO 自動(dòng)生成 catch 塊
       e.printStackTrace();
      } catch (IOException e) {
       // TODO 自動(dòng)生成 catch 塊
       e.printStackTrace();
      }

     }

    }

    posted @ 2007-10-26 10:01 yegucheng 閱讀(2238) | 評(píng)論 (5)編輯 收藏

    在使用apache的net包處理Serv-U和x-lighgt時(shí)遇到的幾點(diǎn)不同
    進(jìn)入一個(gè)空目錄:
     在serv-U下,調(diào)用fTPClient.changeWorkingDirectory("")方法沒有任何問題(指向一個(gè)空的目錄)
     在x-light下,調(diào)用方法,會(huì)返回501信息
    當(dāng)下載完文件后:
     使用 fTPClient.retrieveFileStream(url)方法下載文件,在serv-U下,可以直接下載下一個(gè)文件
     但是在x-light下,調(diào)用 fTPClient.retrieveFileStream(url)方法后,
     必須執(zhí)行 fTPClient.completePendingCommand()方法,關(guān)閉當(dāng)前下載操作,
     才能執(zhí)行下一個(gè)下載任務(wù)(在net包的API中有相關(guān)的規(guī)定)。
     
    posted @ 2007-10-26 09:08 yegucheng 閱讀(743) | 評(píng)論 (0)編輯 收藏

         摘要: 在使用TAB型的屬性頁時(shí),設(shè)定Section標(biāo)題的方法  閱讀全文
    posted @ 2007-04-02 15:36 yegucheng 閱讀(1044) | 評(píng)論 (0)編輯 收藏

    ??? 經(jīng)常使用開源產(chǎn)品,開源項(xiàng)目的升級(jí)又非常的快,到不同的網(wǎng)站查找源代碼經(jīng)常是很費(fèi)時(shí)的事情,雖然不難,但是很是瑣碎。
    ? ? 最近在看一篇介紹maven的文檔的時(shí)候,看到一個(gè)很不錯(cuò)的網(wǎng)站:www.ibiblio.org,這兒包含了幾乎你用到的所有的開源項(xiàng)目,而且提供maven方式的下載。
    ??? 當(dāng)然,在平時(shí)的使用時(shí),不一定必須使用maven來構(gòu)建,那就直接手工去找吧,可以在google中輸入如下的字符串(site:www.ibiblio.org maven2 xxx),就可以在該網(wǎng)站找到自己要的開源產(chǎn)品的jar和源碼,其中xxx代表開源產(chǎn)品的名字,例如要找log4j,可以輸入:site:www.ibiblio.org maven2 log4j。
    posted @ 2007-03-30 09:28 yegucheng 閱讀(1559) | 評(píng)論 (2)編輯 收藏

    今天看到兩種使用EMF解析.xml為EMF模型的策略:
    一種是通過如下代碼:

    IFileEditorInput?modelFile? = ?(IFileEditorInput)getEditorInput();
    URI?resourceURI?
    = ?URI.createPlatformResourceURI(modelFile.getFile().getFullPath().toString());;
    resource? = ?editingDomain.getResourceSet().getResource(resourceURI,? true );
    上面這種方式會(huì)引用一個(gè)AdapterFactoryEditingDomain類,但我們基于模型做編輯器時(shí),有時(shí)并不需要用這個(gè)類,例如GEF,它具有自身的EditorDomain。

    另外一種方式是使用EMF模型自動(dòng)生成的Process,該類一般在模型的Util包下面,引用代碼如下:
    IFileEditorInput?modelFile?=?(IFileEditorInput)getEditorInput();????????
    XMLProcessor?processor?
    =??new?DesignXMLProcessor();????????????
    ?resource?
    =?processor.load(new?InputSource(new?InputStreamReader(modelFile.getFile().getContents(),?"GBK")),?null);
    ????????

    其實(shí),對(duì)于EMF而言,上面兩種解釋方式,歸根到底都需要EMF獲得 業(yè)務(wù)模型相關(guān)的解析器,對(duì)于第一種方式,EMF是如何獲取到業(yè)務(wù)模型的解析器呢?主要是通過擴(kuò)展的方式,擴(kuò)展定義在模型的plugin.xml中,代碼片斷如下圖所示:
    ??<extension?point="org.eclipse.emf.ecore.extension_parser">
    ????
    <parser?
    ???????type
    ="design"?
    ???????
    class="com.neusoft.report.design.util.DesignResourceFactoryImpl"?/>
    ??
    </extension>

    這樣,解析.xml文件時(shí),EMF從ResourceFactory注冊(cè)中,根據(jù)相應(yīng)的type,獲取解析器(DesignResourceFactoryImpl),完成解析。
    posted @ 2007-03-07 13:08 yegucheng 閱讀(1643) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲国产精品日韩在线观看| 成人片黄网站色大片免费观看APP| 精品国产污污免费网站| 免费羞羞视频网站| 亚洲AV无码国产精品色| 91在线视频免费播放| 亚洲人成免费电影| 亚洲免费网站在线观看| 精品日韩99亚洲的在线发布| 青苹果乐园免费高清在线| 亚洲无码一区二区三区| 国产无遮挡色视频免费视频| 四虎影视久久久免费观看| 亚洲中文字幕久久精品无码APP| 91成人免费观看在线观看| 久久噜噜噜久久亚洲va久| 69国产精品视频免费| 亚洲免费人成视频观看| 黄网址在线永久免费观看 | 亚洲短视频在线观看| 亚洲精品免费在线视频| 亚洲综合激情五月色一区| 免费国产a国产片高清| 国产精品黄页免费高清在线观看| 国产成人A人亚洲精品无码| 91热成人精品国产免费| 亚洲乱亚洲乱妇无码| 亚洲综合精品网站| 最近2019免费中文字幕6| 亚洲熟女综合一区二区三区| 亚洲女同成人AⅤ人片在线观看| 99久久成人国产精品免费| 精品亚洲AV无码一区二区 | 亚洲不卡中文字幕无码| 国产免费一区二区三区| 在线看亚洲十八禁网站| 亚洲成AV人片在线观看| 国内一级一级毛片a免费| 丝瓜app免费下载网址进入ios | 亚洲网站在线观看| 特级淫片国产免费高清视频|