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

📄 streaminputtokenizer.java

📁 一个纯java写的神经网络源代码
💻 JAVA
字号:
package org.joone.io;import java.util.*;import java.io.*;import org.joone.log.*;public class StreamInputTokenizer implements PatternTokenizer {    /**     * Logger     * */    private static final ILogger log = LoggerFactory.getLogger(StreamInputTokenizer.class);        private static final int MAX_BUFFER_SIZE = 1048576; // 1 MByte    private LineNumberReader stream;    private StringTokenizer tokenizer = null;    private int numTokens = 0;    private char m_decimalPoint = '.';    private String m_delim = "; \t\n\r\f";    private double[] tokensArray;    private int maxBufSize;        /** Creates new StreamInputTokenizer     * @param in The input stream     */    public StreamInputTokenizer(Reader in) throws java.io.IOException {        this(in, MAX_BUFFER_SIZE);    }        /** Creates new StreamInputTokenizer     * @param in The input stream     * @param maxBufSize the max dimension of the input buffer     */    public StreamInputTokenizer(Reader in, int maxBufSize) throws java.io.IOException {        this.maxBufSize = maxBufSize;        stream = new LineNumberReader(in, maxBufSize);        stream.mark(maxBufSize);    }            /** Return the current line number.     * @return  the current line number     */    public int getLineno() {        return stream.getLineNumber();    }    public int getNumTokens() throws java.io.IOException {        return numTokens;    }    /**     * Insert the method's description here.     * Creation date: (17/10/2000 0.30.08)     * @return float     * @param posiz int     */    public double getTokenAt(int posiz) throws java.io.IOException {        if (tokensArray == null)            if (!nextLine())                return 0;        if (tokensArray.length <= posiz)            return 0;        return tokensArray[posiz];    }    /**     * Insert the method's description here.     * Creation date: (17/10/2000 0.13.45)     * @return float[]     */    public double[] getTokensArray() {        return tokensArray;    }    /** mark the current position.     */    public void mark() throws java.io.IOException {        stream.mark(maxBufSize);    }    /** Fetchs the next line and extracts all the tokens     * @return false if EOF, otherwise true     * @throws IOException if an I/O Error occurs     */    public boolean nextLine() throws java.io.IOException {        String line = stream.readLine();        if (line != null) {            tokenizer = new StringTokenizer(line, m_delim, false);            numTokens = tokenizer.countTokens();            if (tokensArray == null)                tokensArray = new double[numTokens];            else                if (tokensArray.length != numTokens)                    tokensArray = new double[numTokens];            for (int i = 0; i < numTokens; ++i)                tokensArray[i] = nextToken(m_delim);            return true;        }        else            return false;    }    /** Return the next token's double value in the current line     * @return the next double value     */    private double nextToken() throws java.io.IOException {        return this.nextToken(null);    }        /** Return the next token's double value in the current line;     * tokens are separated by the characters contained in delim     * @return the next double value     * @param delim String containing the delimitators characters     */    private double nextToken(String delim) throws java.io.IOException {        double v;        String nt = null;                if (tokenizer == null)            nextLine();        if (delim != null)            nt = tokenizer.nextToken(delim);        else            nt = tokenizer.nextToken();                if (m_decimalPoint != '.')            nt = nt.replace(m_decimalPoint, '.');        try {            v = Double.valueOf(nt).floatValue();        } catch (NumberFormatException nfe) {            log.warn("Warning: Not numeric value at row "+getLineno()+": <" + nt + ">");            v = 0;        }        return v;    }    /** Go to the last marked position. Begin of input stream if no mark detected.     */    public void resetInput() throws java.io.IOException {        stream.reset();        tokenizer = null;    }    public void setDecimalPoint(char dp) {        m_decimalPoint = dp;    }        public char getDecimalPoint() {        return m_decimalPoint;    }    }

⌨️ 快捷键说明

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