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

📄 svninputstream.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.IOException;import java.io.PipedInputStream;import java.io.PipedOutputStream;/** * This class connects a java.io.PipedInputStream to a OutputInterface. * The outherside of the Pipe must read by another thread, or deadlocks * will occure */public class SVNInputStream extends PipedInputStream{    /**     * my connection to put data into subversion     */    Outputer myOutputer;    /**     * Creates a SVNInputStream so that it is connected with an internal     * PipedOutputStream     * @throws IOException     */    public SVNInputStream() throws IOException    {        myOutputer = new Outputer(this);    }    /**     * Get the Interface to connect to SVNAdmin     * @return the connetion interface     */    public OutputInterface getOutputer()    {        return myOutputer;    }    /**     * Closes this input stream and releases any system resources associated     * with the stream.     *     * <p> The <code>close</code> method of <code>InputStream</code> does     * nothing.     *     * @exception  IOException  if an I/O error occurs.     */    public void close() throws IOException    {        myOutputer.closed = true;        super.close();    }    /**     * this class implements the connection to SVNAdmin     */    public class Outputer implements OutputInterface    {        /**         * my side of the pipe         */        PipedOutputStream 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         */        Outputer(SVNInputStream myMaster) throws IOException        {            myStream =new PipedOutputStream(myMaster);        }        /**         * write the bytes in data to java         * @param data          the data to be writtem         * @throws IOException  throw in case of problems.         */        public int write(byte[] data) throws IOException        {            if(closed)                throw new IOException("stream has been closed");            myStream.write(data);            return data.length;        }        /**         * close the output         * @throws IOException throw in case of problems.         */        public void close() throws IOException        {            myStream.close();        }    }}

⌨️ 快捷键说明

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