本帖最后由 张文强 于 2012-7-1 11:07 编辑
- /*
- *
- * 首先用String或File对象创建一个FileReader,为了提高效率把FileReader的引用交给BufferedReader。
- * 然后向新文件写入数据,同理创建FileReader,把FileReader的引用交给BufferedReader。
- *
- * 举个现实实际点的例子,秋收的时候地里有一大堆粮食要往仓库,分两种情况
- * 1、是自己一袋子一袋子往家背 就相当于只用FileReader
- * 2、是用卡车一车车往仓库运 数组就相当于卡车
- * while((len = br.read(c))!=-1) //判断地里是否还有粮食
- * {
- * bw.write(c, 0, len); //就相当于车循环拉粮食的动作,至于它具体是怎么运作的不用咱管。咱只管叫它运就行,也就是只管调用
- *
- * }
- */
- //// 这是write的底层实现方法,有兴趣可以了解下
- public void write(String str, int off, int len) throws IOException {
- synchronized (lock) {
- char cbuf[];
- if (len <= writeBufferSize) {
- if (writeBuffer == null) {
- writeBuffer = new char[writeBufferSize];
- }
- cbuf = writeBuffer;
- } else {
- cbuf = new char[len];
- }
- str.getChars(off, (off + len), cbuf, 0);
- write(cbuf, 0, len); // 再去往地里拉粮食
- }
- }
复制代码 |