黑马程序员——java中的流

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

流是一串连续不继的数据的集合,就像水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段一段地向数据流管道中写入数据,这些数据段会按先向顺序形成一个长的数据流。对数据的读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。

InputStreamReader(输入流)

OutputStreamReader(输出流)
bufferedReader 是使得整个输入流或输出流可以一行一行的输出或输入 bufferedReader.readLine();
字节输入流:
public class Fileput {


public static void main(String[] args) {
int b=0;
FileInputStream filein=null;
try{
filein=new FileInputStream("D:\\android---woreplace\\first\\src\\text\\Fileput.java");

}
catch(FileNotFoundException e){
System.out.print("找不到文件");
System.exit(-1);
}
        try{
        long num=0;
        while((b=filein.read())!=-1){
        System.out.print((char)b);
        num++;
        }
        filein.close();
        System.out.print(num);
        }
        catch(IOException e){
        System.out.print("找不到文件");
System.exit(-1);
        }
}


}
字节输出流:
public class Fileput {


public static void main(String[] args) {
int b=0;
FileInputStream filein=null;
FileOutputStream fileout=null;
try{
filein=new FileInputStream("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
fileout=new FileOutputStream("D:\\jiao.txt");
}
catch(FileNotFoundException e){
System.out.print("找不到文件");
System.exit(-1);
}
        try{
        long num=0;
        while((b=filein.read())!=-1){
        System.out.print((char)b);
        fileout.write(b);
        num++;
        }
        filein.close();
        fileout.close();
        System.out.print(num);
        }
        catch(IOException e){
        System.out.print("找不到文件");
System.exit(-1);
        }
}


}


字符输入流:
public class Fileput {


public static void main(String[] args) {
    FileReader filereader=null;//字符输入流
    int b=0;
    try{
    filereader=new FileReader("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
    while((b=filereader.read())!=-1){
    System.out.print((char)b);
    }
    filereader.close();
    }
    catch(FileNotFoundException e){
    System.out.print("找不到文件");
    System.exit(-1);
    }
    catch(IOException e){
    System.out.print("复制错误 ");
    System.exit(-1);
    }
    
    
}
}
字符输出流:
public class Fileput {


public static void main(String[] args) {
    FileReader filereader=null;//字符输入流
    FileWriter filewriter=null;//字符输出流
    int b=0;
    try{
    filereader=new FileReader("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
    filewriter=new FileWriter("D:\\char.txt");
    while((b=filereader.read())!=-1){
    System.out.print((char)b);
    filewriter.write(b);
    }
    filereader.close();
    }
    catch(FileNotFoundException e){
    System.out.print("找不到文件");
    System.exit(-1);
    }
    catch(IOException e){
    System.out.print("复制错误 ");
    System.exit(-1);
    }
    
    
}
}
缓冲字节输入流:
public abstract class Text {

public static void main(String[] args) {
try{
FileInputStream in=new FileInputStream("D:\\android---woreplace\\first\\src\\text\\Fileput.java");
BufferedInputStream bf=new BufferedInputStream(in);
System.out.print((char)bf.read());
}
catch(IOException e){
e.printStackTrace();
}
}
}
缓冲字符输入/出流:
public abstract class Text {

public static void main(String[] args) {
try{
BufferedReader bw=new BufferedReader(new FileReader("D:\\android---woreplace\\first\\src\\text\\Text.java"));
BufferedWriter bf=new BufferedWriter(new FileWriter("D:\\char.txt"));
String s=null;
for(int i=0;i<10;i++){
s=String.valueOf(Math.random());
bf.write(s);
bf.newLine();
}
bf.flush();
while((s=bw.readLine())!=null){
System.out.println(s);
}
bf.close();
bw.close();
}
catch(IOException e){
e.printStackTrace();
}
}
}
转换流:
public abstract class Text {

public static void main(String[] args) {
try{
//转换字符、字节
OutputStreamWriter out=new OutputStreamWriter(new FileOutputStream("D:\\jiao.txt"));
out.write("jiao");
System.out.println(out.getEncoding());
out.close();
out=new OutputStreamWriter(new FileOutputStream("D:\\jiao.txt",true),"ISO8859_1");//再写入数据
out.write("hao");
System.out.println(out.getEncoding());
out.close();
catch(IOException e){
e.printStackTrace();
}
}
}
数据流:
public abstract class Text {

public static void main(String[] args) {
ByteArrayOutputStream baos=new ByteArrayOutputStream();//分配一个字节数组输出流
DataOutputStream data=new DataOutputStream(baos);//嵌套一个数据流便于输入输出各种字节
try{
data.writeDouble(Math.random());//写入一个double字节数
data.writeBoolean(true);//写入一个人bool类型的字节数
ByteArrayInputStream baos1=new ByteArrayInputStream(baos.toByteArray());
DataInputStream data1=new DataInputStream(baos1);
System.out.println(data1.available());
System.out.println(data1.readDouble());
System.out.println(data1.readBoolean());
}
catch(IOException e){
e.printStackTrace();
}
}
}
print流
public abstract class Text {

public static void main(String[] args) {
String s = null;
   BufferedReader br = new BufferedReader(
                       new InputStreamReader(System.in));
   try {
     FileWriter fw = new FileWriter
                          ("d:\\char.txt", true); //Log4J
     PrintWriter log = new PrintWriter(fw);
     while ((s = br.readLine())!=null) {
       if(s.equalsIgnoreCase("exit")) break;
       System.out.println(s.toUpperCase());
       log.println("-----");
       log.println(s.toUpperCase()); 
       log.flush();
     }
     log.println("==="+new Date()+"==="); 
     log.flush();
     log.close();
   } catch (IOException e) {
     e.printStackTrace();
   }
}
}

                      ----------- android培训java培训、java学习型技术博客、期待与您交流! ------------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值