java io 处理流,BufferdInputStream、BufferedWriter、BufferedReader

BufferdInputStream:读取helloworld。java

helloworld.java:

package io;

public class HelloWorld {

    public static void main(String[] args) {

        System.out.println("Hello World");
    }
}
package io;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class TestBufferdStream {

    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("f:\\share\\j2se\\IO\\HelloWorld.java");
            BufferedInputStream bis = new BufferedInputStream(fis);

            int c = 0;
            System.out.println(bis.read());
            System.out.println(bis.read());
            //在输入流中的当前位置上作标记。
            //reset 方法的后续调用将此流重新定位在最后标记的位置上,以便后续读取操作重新读取相同的字节。
            bis.mark(104);
            for(int i=0;i<10 && (c=bis.read())!=-1;i++){
                System.out.print((char)c+" ");
            }
            System.out.println();
            //将此流重新定位到对此输入流最后调用 mark 方法时的位置。
            bis.reset();
            for(int i=0;i<10 && (c=bis.read())!=-1;i++){
                System.out.print((char)c+" ");
            }
            bis.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

BufferedWriter\BufferedReader:

例子程序:

package io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class TestBufferdInputStream2 {

    public static void main(String[] args) {
        try {
            BufferedWriter bw = new BufferedWriter(new FileWriter("f:\\share\\j2se\\IO\\dat2.txt"));
            BufferedReader br = new BufferedReader(new FileReader("f:\\share\\j2se\\IO\\dat2.txt"));

            String s = null;
            //写50个随机数到dat2.txt
            for(int i=1; i < 50; i++){
                s = String.valueOf(Math.random());
                bw.write(s);
                bw.newLine();//换行
            }
            bw.flush();
            //读取50行随机字符,一次读取一行
            while((s=br.readLine()) != null){
                System.out.println(s);
            }
            bw.close();
            br.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

dat2.txt:

0.24435601362218273
0.07126801193316767
0.445311738285074
0.35293158421910387
0.04822819969288661
0.464188774352171
0.6905170100489313
0.8547166555962266
0.5541870091691403
0.9247856173061691
0.48488882959764723
0.5193802516020373
0.04851570819954021
0.3532430846365504
0.5913492607077712
0.7269377024915321
0.46016618867662185
0.8830446251301621
0.2703242210883656
0.07017468795157189
0.10078493531688781
0.23783445875014186
0.00409907542074428
0.9501608886342727
0.3959891143119634
0.7696311492996133
0.023352826602872856
0.9771539795955477
0.9819466949500667
0.03218300631060633
0.9869752588243724
0.8710162291479447
0.003228411938660858
0.7442323830163325
0.7688111962900284
0.3218677237396862
0.44106400125074907
0.7796821087986395
0.9387643377368098
0.31955151461514586
0.825548588820152
0.38513415381788396
0.19073290448507962
0.7895878480795029
0.741009435685509
0.16999690403089585
0.6661380207280028
0.9836458017809654
0.12065762566480698

时间: 2024-10-11 12:33:53

java io 处理流,BufferdInputStream、BufferedWriter、BufferedReader的相关文章

Java基础知识强化之IO流笔记37:字符流缓冲流之BufferedWriter / BufferedReader使用

1. 字符流缓冲流: 字符流为了高效读写,也提供了对应的字符缓冲流. BufferedWriter:字符缓冲输出流 BufferedReader:字符缓冲输入流 2. BufferedWriter使用:     将文本写入字符输出流,缓冲各个字符,从而提供单个字符.数组和字符串的高效写入.可以指定缓冲区的大小,或者接受默认的大小.在大多数情况下,默认值就足够大了. (1)BufferedWriter的构造方法: 构造方法摘要 BufferedWriter(Writer out)         

Java IO 转换流 字节转字符流

Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| FileInputStream 读取文件的输入字节流.------------| BufferedInputStream 缓冲输入字节流. 该类内部其实就是维护了一个8kb(8192b)字节数组而已. 该类出现的目的是为了提高读取文件数据的效率. 输出字节流:---------| OutputStream

JavaLearning:JAVA IO Piped流

package org.fun.io; import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream; class Send implements Runnable{ private PipedOutputStream output=null; public Send(){ this.output=new PipedOutputStream(); } public Pip

Java IO 过滤流 字节缓冲流 BufferedInput/OutputStream

Java IO 过滤流 字节缓冲流 BufferedInput/OutputStream @author ixenos 概念 BufferedInput/OutputStream是实现缓存的过滤流,他们分别是FilterInput/OutputStream的子类. BufferedInputStream工作流程 stream-->buf--read buf-->I 1.当一个BufferedInputStream被创建时,一个内部的缓冲区 byte[] buf = new byte[size]

Java IO 理解流的概念

Java IO 理解流的概念 @author ixenos 在理解流时首先理解以下概念 1.流的来源和去向一般在构造器指出 2.方法中的形参一般是将流输出到某个位置,读取时从流读出数据(来自流)送到位置上,输出时将所要输出的数据(来自我)送到位置上

Java IO 节点流 FileInput/OutputStream

Java IO 节点流 FileInput/OutputStream @author ixenos 节点流之 文件流 文件读写是最常见的I/O操作,通过文件流来连接磁盘文件,读写文件内容 1.文件的读写工作流程: 1)打开文件输入流或输出流 FileInputStream实现读文件,调用FileInputStream的构造器可以打开一个文件输入流: 1 public FileInputStream(String fileName) throws FileNotFoundException //指

Java: IO 字符流

FileInputStream和FileOutputStream分别是InputStream和OutputStream的子类,都是字节流.下面例子中有三个方法可以读写字节流: 1.一个一个的 2.一组一组的,可以自定义字节数组的长度 3.使用available方法,可以返回目标文件的长度从而利用该特性建立一个刚刚好长度的字节数组.但该方法有使用风险,例如目标文件过大,一个电影或者一个大数据文件,则会导致超过虚拟机内存的大小,从而出现错误.所以使用该方法要评估风险,如果可以确定目标是小文件,则可以

Java IO文件流

package com.zb.io.test; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.F

Java IO包装流如何关闭?

http://www.cnblogs.com/qqzy168/p/3670915.html —————————————————————————————————————————————————————— 问题: (1)JAVA的IO流使用了装饰模式,关闭最外面的流的时候会自动调用被包装的流的close()方吗? (2)如果按顺序关闭流,是从内层流到外层流关闭还是从外层到内存关闭? 问题(1)解释: 如下例子代码: FileInputStream is = new FileInputStream("