⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svnoutputstream.java

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 JAVA
字号:
/** * @copyright * ==================================================================== * Copyright (c) 2003 CollabNet.  All rights reserved. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution.  The terms * are also available at http://subversion.tigris.org/license-1.html. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * * This software consists of voluntary contributions made by many * individuals.  For exact contribution history, see the revision * history and logs, available at http://subversion.tigris.org/. * ==================================================================== * @endcopyright */package org.tigris.subversion.javahl;import java.io.*;/** * This class connects a java.io.PipedOutputStream to a InputInterface. * The outherside of the Pipe must written by another thread, or deadlocks * will occure */public class SVNOutputStream extends PipedOutputStream{    /**     * my connection to receive data into subversion     */    Inputer myInputer;    /**     * Creates a SVNOutputStream so that it is connected with an internal     * PipedInputStream     * @throws IOException     */    public SVNOutputStream() throws IOException    {        myInputer = new Inputer(this);    }    /**     * Closes this piped output stream and releases any system resources     * associated with this stream. This stream may no longer be used for     * writing bytes.     *     * @exception  IOException  if an I/O error occurs.     */    public void close() throws IOException    {        myInputer.closed = true;        super.close();    }    /**     * Get the Interface to connect to SVNAdmin     * @return the connetion interface     */    public InputInterface getInputer()    {        return myInputer;    }    /**     * this class implements the connection to SVNAdmin     */    public class Inputer implements InputInterface    {        /**         * my side of the pipe         */        PipedInputStream myStream;        /**         * flag that the other side of the pipe has been closed         */        boolean closed;        /**         * build a new connection object         * @param myMaster  the other side of the pipe         * @throws IOException         */        Inputer(SVNOutputStream myMaster) throws IOException        {            myStream = new PipedInputStream(myMaster);        }        /**         * read the number of data.length bytes from input.         * @param data          array to store the read bytes.         * @throws IOException  throw in case of problems.         */        public int read(byte[] data) throws IOException        {            if(closed)                throw new IOException("stream has been closed");            return myStream.read();        }        /**         * close the input         * @throws IOException throw in case of problems.         */        public void close() throws IOException        {            myStream.close();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -