urlinputsynapse.java

来自「一个纯java写的神经网络源代码」· Java 代码 · 共 79 行

JAVA
79
字号
package org.joone.io;import java.io.*;import java.net.*;import org.joone.exception.JooneRuntimeException;import org.joone.log.*;import org.joone.engine.NetErrorManager;/** Allows data extraction from the internet or a file specified by a Universal * Resource Locator or URL. */public class URLInputSynapse extends StreamInputSynapse {    /** The logger used to log warning or errors. */    private static final ILogger log = LoggerFactory.getLogger(URLInputSynapse.class);    /** The string of the URL used to extract input data. */    private String URL = "http://";    /** The actual URL used to extract input data. */    private URL cURL;        private static final long serialVersionUID = -1871585397469526608L;        /** The default constructor for this class. */    public URLInputSynapse() {        super();    }    /** Gets the URL used to extract input data from.     * @return The URL used to extract input data from.     */    public String getURL() {        return URL;    }    /** Reads this URLInputSynapse object from the specified object stream. */    private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {        super.readObjectBase(in);        if (in.getClass().getName().indexOf("xstream") == -1) {            URL = (String) in.readObject();        }        if (!isBuffered() || (getInputVector().size() == 0))            setURL(URL);    }    /** Sets the URL to extract input data from.     * @param newURL The new URL used to extract input data from.     */    public void setURL(java.lang.String newURL) {        if (!URL.equals(newURL)) {            this.resetInput();            this.setTokens(null);        }        //initInputStream();    }    /** Writes this URLInputSynapse object into the specified object stream. */    private void writeObject(ObjectOutputStream out) throws IOException {        super.writeObjectBase(out);        if (out.getClass().getName().indexOf("xstream") == -1) {            out.writeObject(URL);        }    }        /** Reads the data from the URL specified in this URLInputSynapse. */    protected void initInputStream() throws JooneRuntimeException {        if ((URL != null) && (URL != "")) {            try {                cURL = new URL(URL);                InputStream is = cURL.openStream();                StreamInputTokenizer sit;                if (getMaxBufSize() > 0)                    sit = new StreamInputTokenizer(new InputStreamReader(is), getMaxBufSize());                else                    sit = new StreamInputTokenizer(new InputStreamReader(is));                super.setTokens(sit);            } catch (IOException ioe) {                log.warn("Could not extract data from the URL '"+URL+"' Message is : " + ioe.getMessage());                if ( getMonitor() != null )                    new NetErrorManager(getMonitor(),"Could not extract data from the URL '"+URL+"' Message is : "+ioe.getMessage());            }        }    }    }

⌨️ 快捷键说明

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