[Java SE] JAVA.IO 相关--第二篇(读取TXT)
上篇说道不用File,而是用getResourceAsStream()来读取文件
?
下面是一个在res资源文件夹下读取某一resource.txt文件的DEMO
?
?
package com.japher.j2se.InputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;/** * * @author liujie,sd4886656@163.com * */public class TestInputStream {public static void main(String [] art){InputStream in = Reader.getInstance().getResourceAsStream("/resource.txt");if(in == null)throw new RuntimeException("read error");try {System.out.println(Reader.asString(in));} catch (IOException e) {e.printStackTrace();}}}class Reader{private static Reader instance;/*保持单例*/public static Reader getInstance(){if(instance == null)instance = new Reader();return instance;}/*读取为InputStream*/public synchronized InputStream getResourceAsStream(String path){return this.getClass().getResourceAsStream(path);}/*将InputStream转换为String*/public static String asString(InputStream in) throws IOException{BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8")); StringBuffer buf = new StringBuffer(); String line; while (null != (line = br.readLine())) { buf.append(line).append("\n"); } return buf.toString();}}