解释一:
InputStream 此抽象类是表示字节输入流的所有类的超类 InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。 每次调用 InputStreamReader 中的一个 read()() 方法都会导致从基础输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从基础流读取更多的字节,使其超过满足当前读取操作所需的字节
解释二: java输入输出流,使用了装饰模式 inputstream是最原始的,专注了核心功能 而inputstreamreader是核心功能的装饰,提供了更封装的方法 inputstream只能读字节,byte数组,而有reader的可以读char 如果在reader上再装饰一层buffered,那么就可以读取 string 方法是 readline()
简单的文件上传:
<% InputStream is = request.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String buffer = null; while((buffer = br.readLine()) != null) { out.print(buffer + "<br>"); } %>