亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? netutils.java

?? 日常的辦公系統 應用工作流框架等增加員工的基本信息、培訓信息、獎罰信息、薪資信息
?? JAVA
字號:
/* * Copyright (c) 2005, John Mettraux, OpenWFE.org * All rights reserved. *  * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions are met: *  * . Redistributions of source code must retain the above copyright notice, this *   list of conditions and the following disclaimer.   *  * . Redistributions in binary form must reproduce the above copyright notice,  *   this list of conditions and the following disclaimer in the documentation  *   and/or other materials provided with the distribution. *  * . Neither the name of the "OpenWFE" nor the names of its contributors may be *   used to endorse or promote products derived from this software without *   specific prior written permission. *  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  * POSSIBILITY OF SUCH DAMAGE. * * $Id: NetUtils.java,v 1.7 2005/06/13 00:12:09 jmettraux Exp $ *///// Utils.java//// jmettraux@openwfe.org//// generated with // jtmpl 1.0.04 31.10.2002 John Mettraux (jmettraux@openwfe.org)//package openwfe.org.net;import java.nio.ByteBuffer;import java.nio.channels.Channels;import java.nio.channels.SelectionKey;import java.nio.channels.SocketChannel;import java.nio.channels.ReadableByteChannel;import java.nio.channels.WritableByteChannel;import openwfe.org.Utils;/** * Channels and ByteBuffer stuff * * <p><font size=2>CVS Info : * <br>$Author: jmettraux $ * <br>$Date: 2005/06/13 00:12:09 $ * <br>$Id: NetUtils.java,v 1.7 2005/06/13 00:12:09 jmettraux Exp $ </font> * * @author jmettraux@openwfe.org */public abstract class NetUtils{    private final static org.apache.log4j.Logger log = org.apache.log4j.Logger        .getLogger(NetUtils.class.getName());    /**     * The standard HTTP end of line     */    public final static String HTTP_EOL        = "\r\n";    public final static String DOUBLE_HTTP_EOL        = HTTP_EOL + HTTP_EOL;    /*     * A small method that sleeps without emitting any InterruptedException     *    public static void sleep (long millis)    {        try        {            Thread.sleep(millis);        }        catch (InterruptedException ie)        {            // ignore        }    }     *     */    /**     * Simply turning a nio.Channel into a byte array     */    public static byte[] channelToByteArray        (final ReadableByteChannel readChannel)    throws         java.io.IOException    {        final int zeroReadMax = 2;        final ByteBuffer buffer = ByteBuffer.allocateDirect(16 * 1024);        final java.io.ByteArrayOutputStream baos =             new java.io.ByteArrayOutputStream();        final WritableByteChannel writeChannel = Channels.newChannel(baos);        int zeroReads = 0;        while (true)        {            final int read = readChannel.read(buffer);            //log.debug("==================== read "+read+" byte(s)");            if (read < 0) break;            if (read == 0)            {                if (++zeroReads >= zeroReadMax) break;                Thread.currentThread().yield();                continue;            }            zeroReads = 0;            buffer.flip();            writeChannel.write(buffer);            buffer.clear();        }        //log.debug("channelToByteArray:\n"+ new String(baos.toByteArray()));        final byte[] result = baos.toByteArray();                //        // some debug output        //        //int length = 14;        //if (result.length < 14) length = result.length;        //final byte[] head = new byte[length];        //String sHead2 = "";        //for (int i=0; i<length; i++)        //{        //    head[i] = result[i];        //    sHead2 += head[i];        //    sHead2 += " ";        //}        //final String sHead1 = new String(head);        //log.debug("channelToByteArray() head >"+sHead1+"<");        //log.debug("channelToByteArray() head : "+sHead2);        return result;    }    /**     * A bit further : turning a channel into an input stream     */    public static java.io.InputStream channelToInputStream         (final ReadableByteChannel readChannel)    throws         java.io.IOException    {        return new java.io.ByteArrayInputStream            (channelToByteArray(readChannel));    }    /**     * Still further : turning a channel into a reader     */    public static java.io.Reader channelToReader        (final ReadableByteChannel readChannel)    throws         java.io.IOException    {        return new java.io.InputStreamReader            (channelToInputStream(readChannel));    }    /**     * Reads on a readable channel (a socket) until the second double HTTP eol      * is reached.     */    public static byte[] readHttpRequest (final ReadableByteChannel readChannel)        throws java.io.IOException    {        int zeroReads = 0;              // nb of time zero bytes were read        String requestType = null;      // POST or GET or null ?        final ByteBuffer buffer = ByteBuffer.allocateDirect(16 * 1024);        final java.io.ByteArrayOutputStream baos =            new java.io.ByteArrayOutputStream();        final WritableByteChannel writeChannel =             Channels.newChannel(baos);        while (true)        {            final int read = readChannel.read(buffer);            log.debug("readHttpRequest() read "+read+" bytes");            if (read == 0)            {                zeroReads++;                if (zeroReads > 3) break;                Thread.currentThread().yield();                continue;            }            buffer.flip();            writeChannel.write(buffer);            final boolean reachedEol = isEol(buffer);            final String curReqType = determineRequestType(buffer);            log.debug("readHttpRequest() [ requestType is  "+requestType);            log.debug("readHttpRequest()   reachedEol is   "+reachedEol);            log.debug("readHttpRequest()   curReqType is   "+curReqType+" ]");            if (requestType == null)            {                requestType = curReqType;                if ("GET".equals(requestType) && reachedEol) break;            }            else            {                if (reachedEol) break;            }            zeroReads = 0;            buffer.clear();        }        return baos.toByteArray();    }    private static String determineRequestType (final ByteBuffer buffer)        throws java.io.IOException    {        buffer.rewind();        if (buffer.remaining() < 4) return null;        final byte[] ba = new byte[4];        for (int i=0; i<4; i++)        {            ba[i] = buffer.get();        }        String s = new String(ba, Utils.getEncoding());        s = s.toLowerCase();        log.debug("determineRequestType() found >"+s+"<");        if (s.equals("get ")) return "GET";        if (s.equals("post")) return "POST";        return null;    }    private static boolean isEol (final ByteBuffer buffer)        throws java.io.IOException    {        buffer.rewind();        //log.debug("isEol() remaining "+buffer.remaining()+" bytes");        if (buffer.remaining() < 4) return false;        buffer.position(buffer.limit()-4);        //log.debug("isEol() new pos "+buffer.position());        byte[] ba = new byte[4];        for (int i=0; i<4; i++) ba[i] = buffer.get();        final String s = new String(ba, Utils.getEncoding());        //log.debug("isEol() eol is "+asIntSequence(HTTP_EOL+HTTP_EOL));        //log.debug("isEol() for    "+asIntSequence(s));        return (s.equals(HTTP_EOL+HTTP_EOL));    }    private static String asIntSequence (final String s)    {        final StringBuffer sb = new StringBuffer();        for (int i=0; i<s.length(); i++)        {            int c = s.charAt(i);            sb.append(c);            sb.append(" ");        }                return sb.toString();    }    /*    public static void main (final String[] args)        throws Exception    {        String s = "nada de rien";        ByteBuffer bb = ByteBuffer.wrap(s.getBytes());        bb.flip();        byte[] ba = bb.array();        byte[] eba = new byte[4];        for (int i=0; i<eba.length; i++)            eba[i] = ba[ba.length-eba.length+i];        s = new String(eba);        System.out.println(s);    }    */    /**     * A REST method, the standard http reply...     */    public static void httpReply        (SelectionKey key,         int replyCode,         String message,         String serverName,         String[] otherHeaders,         String contentType,         Object body)    {        SocketChannel channel = null;        java.io.ByteArrayOutputStream baos = null;        java.io.PrintWriter pw = null;        try        {            channel = (SocketChannel)key.channel();            //java.io.PrintWriter pw = new java.io.PrintWriter            //  (java.nio.channels.Channels.newOutputStream(channel));                //                // this version blocks.            baos = new java.io.ByteArrayOutputStream();            pw = new java.io.PrintWriter(baos);            pw.print("HTTP/1.0 "+replyCode+" "+message); pw.print(HTTP_EOL);            pw.print("Date: "+formatDate(new java.util.Date())); pw.print(HTTP_EOL);            pw.print("Server: "+serverName); pw.print(HTTP_EOL);            pw.print("Content-type: "+contentType); pw.print(HTTP_EOL);            if (otherHeaders != null && otherHeaders.length > 0)            {                for (int i=0; i<otherHeaders.length; i++)                {                    pw.print(otherHeaders[i]); pw.print(HTTP_EOL);                }            }            pw.print(HTTP_EOL);            if (body != null)            {                if (body instanceof Throwable)                {                    log.debug("httpReply() body is a stack trace");                    ((Throwable)body).printStackTrace(pw);                }                else if (body instanceof org.jdom.Element)                {                    log.debug("httpReply() body is a jdom elt");                    // debug                    //try                    //{                    //    Utils.dump                    //        ("rest_3.0_",                     //         openwfe.org.xml.XmlUtils                    //          .toByteArray((org.jdom.Element)body));                    //}                    //catch (final Throwable t)                    //{                    //    log.debug("httpReply() dump failure...", t);                    //    // ignore                    //}                    org.jdom.Document doc =                         new org.jdom.Document((org.jdom.Element)body);                    org.jdom.output.XMLOutputter out =                        openwfe.org.xml.XmlUtils.getXMLOutputter();                    //out.output(doc, pw);                    pw.flush();                    out.output(doc, baos);                    baos.flush();                    // debug                    //Utils.dump("rest_3_", baos.toByteArray());                }                else                {                    log.debug("httpReply() body is something else");                    pw.print(body.toString());                }            }            else            {                pw.print("no comment.");            }            pw.print(HTTP_EOL);            pw.print(HTTP_EOL);            pw.flush();            pw.close();            final ByteBuffer buffer = ByteBuffer.wrap(baos.toByteArray());            final int bytesToTransfer = buffer.capacity();            log.debug("httpReply() bytes to transfer : "+bytesToTransfer);            int transferredBytes = 0;            do            {                transferredBytes += channel.write(buffer);                log.debug("httpReply() transferred bytes : "+transferredBytes);            }            while (transferredBytes < bytesToTransfer);            channel.close();            key.cancel();        }        catch (java.io.IOException ie)        {            log.info("Failed to reply to rest client", ie);        }        finally        {            try            {                channel.close();            }            catch (final Throwable t)            {                // ignore            }        }    }    //    // REST (HTTP) date methods    private static java.text.SimpleDateFormat sdf;    static    {        sdf = new java.text.SimpleDateFormat            ("EEE, dd MMM yyyy HH:mm:ss zzz", java.util.Locale.ENGLISH);        sdf.setTimeZone(java.util.TimeZone.getTimeZone("GMT"));    }    /**     * Returns the date formatted as requested by rfc1945     */    public static String formatDate (java.util.Date d)    {        return sdf.format(d);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
wwwwxxxxx欧美| 极品尤物av久久免费看| 婷婷开心久久网| 国产一区二区不卡老阿姨| 色老头久久综合| 久久亚洲春色中文字幕久久久| 一区二区免费在线播放| 成人国产免费视频| 日韩久久免费av| 天堂久久久久va久久久久| 在线视频中文字幕一区二区| 国产精品免费看片| 国产成人精品一区二| 久久亚区不卡日本| 日韩极品在线观看| 欧美乱妇20p| 午夜久久久久久| 欧美人狂配大交3d怪物一区| 一区二区三区在线视频观看| 99r国产精品| **网站欧美大片在线观看| 成人午夜碰碰视频| 久久久精品免费网站| 日韩一区欧美小说| 欧美aaaaa成人免费观看视频| 成人福利视频在线| 久久久www免费人成精品| 蜜臀精品久久久久久蜜臀| 91猫先生在线| 国产精品久久久久婷婷| 国产一区在线观看麻豆| 欧美剧情片在线观看| 一区二区中文字幕在线| 国产精品白丝jk黑袜喷水| 日韩一区二区三免费高清| 亚洲国产精品综合小说图片区| 9人人澡人人爽人人精品| 精品国产网站在线观看| 日产精品久久久久久久性色| 欧美性受xxxx| 亚洲精品第1页| 99精品视频一区| 亚洲欧洲日本在线| 91在线观看污| 亚洲欧洲精品天堂一级| 成人激情综合网站| 精品欧美一区二区在线观看| 老司机精品视频一区二区三区| 在线不卡中文字幕| 精品一区二区三区久久久| 欧美一区二区精品| 亚洲h动漫在线| 日韩欧美视频在线| 国产在线精品免费| 国产欧美精品在线观看| 成人丝袜高跟foot| 中文子幕无线码一区tr| 成人av网站大全| 综合网在线视频| 91在线观看下载| 亚洲国产日韩a在线播放| 欧美挠脚心视频网站| 日韩专区一卡二卡| 日韩午夜激情电影| 国产精品77777竹菊影视小说| www国产精品av| 99精品视频中文字幕| 亚洲黄色片在线观看| 欧美精选在线播放| 精久久久久久久久久久| 久久九九国产精品| 成人福利在线看| 亚洲成人午夜电影| 91精品国产一区二区人妖| 亚洲成人av一区| 日韩欧美一区中文| 国产aⅴ综合色| 亚洲精品一卡二卡| 日韩美一区二区三区| 丁香五精品蜜臀久久久久99网站| 日韩一区有码在线| 欧美一区二区三区免费| 国产福利一区二区三区视频 | 成人av网址在线观看| 亚洲日本在线视频观看| 欧美一区二区日韩| 99久久久久久| 免费在线观看一区二区三区| 国产精品视频你懂的| 欧美日产国产精品| 国产成人av一区二区三区在线| 日韩美女精品在线| 欧美大肚乱孕交hd孕妇| 欧美中文字幕不卡| 国产aⅴ精品一区二区三区色成熟| 亚洲激情一二三区| 国产亲近乱来精品视频| 91 com成人网| 91蜜桃免费观看视频| 国内外成人在线视频| 性做久久久久久免费观看| 国产拍揄自揄精品视频麻豆 | 国产91色综合久久免费分享| 亚洲成人精品在线观看| 国产精品乱码久久久久久| 91精品欧美综合在线观看最新| 成人三级伦理片| 韩国v欧美v日本v亚洲v| 日韩av一二三| 亚洲一区在线播放| 欧美大片在线观看| 日韩一区二区免费电影| 97久久久精品综合88久久| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲一区自拍偷拍| 亚洲人成精品久久久久久| 久久亚洲二区三区| 日韩免费视频一区| 正在播放一区二区| 欧美精品在欧美一区二区少妇| 福利一区二区在线| 国产真实乱偷精品视频免| 免费在线一区观看| 美腿丝袜一区二区三区| 视频一区视频二区中文| 日韩av电影天堂| 日韩精品成人一区二区三区| 亚洲福利视频一区二区| 亚洲一区在线观看免费| 中文字幕 久热精品 视频在线| 欧美激情一区二区三区蜜桃视频| 337p日本欧洲亚洲大胆色噜噜| 91麻豆精品国产91久久久久久| 精品视频999| 91精品国产欧美日韩| 欧美一区二区成人6969| 日韩一级免费观看| 精品欧美一区二区在线观看| 国产亚洲1区2区3区| 欧美国产精品一区二区三区| 久久久精品天堂| 欧美一级生活片| 日本一区二区三区电影| 亚洲同性同志一二三专区| 亚洲精品久久久蜜桃| 亚洲国产日产av| 日本大胆欧美人术艺术动态| 精品一区二区三区久久久| 国产成人免费在线视频| 高清免费成人av| 在线这里只有精品| 欧美一区二区免费视频| 国产视频911| 中文字幕中文字幕一区| 亚洲福中文字幕伊人影院| 日韩av网站在线观看| 国产福利一区在线观看| 欧美在线观看禁18| 久久精品夜夜夜夜久久| 亚洲另类中文字| 日韩中文字幕亚洲一区二区va在线| 久久成人av少妇免费| 成人免费毛片aaaaa**| 在线免费视频一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 精品一区二区精品| 成人动漫av在线| 精品国产91乱码一区二区三区 | 天涯成人国产亚洲精品一区av| 奇米精品一区二区三区四区| 国产成a人无v码亚洲福利| 欧洲人成人精品| 国产午夜精品一区二区 | 精品乱码亚洲一区二区不卡| 国产精品国产三级国产a| 免费看欧美女人艹b| 99久久精品国产一区| 日韩欧美国产一区二区在线播放| 26uuu亚洲综合色欧美| 亚洲一区在线视频| 国产精品系列在线播放| 91精品国产综合久久婷婷香蕉| 国产精品欧美久久久久无广告 | 亚洲另类春色国产| 久久精品久久久精品美女| 国产成人亚洲综合a∨婷婷图片| 色婷婷久久久综合中文字幕| 欧美人xxxx| 亚洲色图欧洲色图| 国产真实乱对白精彩久久| 欧美理论在线播放| 亚洲视频在线一区| 国产精品中文欧美| 日韩欧美卡一卡二| 午夜在线成人av| 91麻豆国产精品久久| 久久免费的精品国产v∧| 水蜜桃久久夜色精品一区的特点 | 亚洲成a人片综合在线| 99精品欧美一区二区三区小说|