标签:blog http io ar os sp for java on
想平时写 C++ 时,从文件中按指定格式读入数据多方便。。
给自己写个 Java 的。。
package lib.com.chalex.www; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; /** * @author Jiechao * */ public class SReader { /** * @remark Constructor. */ public SReader(String filepath) { cur = 0; try { String line = new String(); reader = new BufferedReader(new InputStreamReader( new FileInputStream(filepath))); while ((line = reader.readLine()) != null && line.trim().equals("")) ; if (line == null) { buf = null; } else { line = line.trim().replace('\t', ' '); buf = line.split(" "); } } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("File not exists!"); } catch (IOException e) { e.printStackTrace(); System.out.println("File content fuck!"); } } /** * @remark Read a string from the file at this current position. * @return A string. */ public String readString() { String ret = new String(); if (buf == null) { return null; } if (cur < buf.length) { while (cur < buf.length && buf[cur].equals("")) { ++cur; } ret = buf[cur++]; } else { try { String line = new String(); while ((line = reader.readLine()) != null && line.trim().equals("")) ; if (line == null) { return null; } line = line.trim().replace('\t', ' '); buf = line.split(" "); cur = 0; ret = buf[cur++]; } catch (IOException e) { e.printStackTrace(); System.out.println("File content fuck!"); } } return ret; } /** * @remark Read an integer from the file at this current position. * @return An integer. */ public int readInt() { int ret = 0; boolean isInt = true; String s = readString(); if (s == null) { return -1; } for (int i = 0; i < s.length(); ++i) { if (s.charAt(i) < '0' || s.charAt(i) > '9') { if (i > 0 || (i == 0 && s.charAt(i) != '-')) { isInt = false; break; } } } if (isInt) { ret = Integer.parseInt(s); } else { ret = 0; } return ret; } private int cur; private String[] buf; private BufferedReader reader; }
标签:blog http io ar os sp for java on
原文地址:http://blog.csdn.net/scnu_jiechao/article/details/41930795