欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java中流的使用

程序员文章站 2024-03-08 22:19:22
java中的流,可以从不同的角度进行分类。 一、按照数:输入流和输出流。 输出流: 输入流: 因此输入和输出都是从程序的角度来说的。 二、按照处理数据单位...

java中的流,可以从不同的角度进行分类。

一、按照数:输入流和输出流。

输出流:

java中流的使用

输入流:

java中流的使用

因此输入和输出都是从程序的角度来说的。

二、按照处理数据单位不同可以分为:字节流和字符流。

字节流和字符流的原理是相同的,只不过处理的单位不同而已,字节流、字符流,两类都分为输入和输出操作。

以下是java中io中常用的流。

java中流的使用

1.在字节流中输出数据主要是使用outputstream完成,输入流使用的是inputstream。

输出流outputstream

string a = "d:\\bbb.txt";
  file f = new file(a);
  fileoutputstream b = new fileoutputstream(f,true);//不加true会覆盖之前的内容,加上是在后面写。
  string c = "这是要输出到文本的内容";
  byte[] bbb = c.getbytes(); //字符串转类型换为byte[]数组类型
  b.write(bbb);
  b.close();

输入流inputstream

string a = "d:\\bbb.txt";
  file f = new file(a);
  fileinputstream b = new fileinputstream(f);
  byte[] bbb = new byte[(int)(f.length())];//长度可以直接取文件字节长度
  b.read(bbb);
  b.close();
  string str = new string(bbb);//转换成字符串
  system.out.println(str);

2.在字符流中输出主要是使用writer类完成,输入流主要使用reader类完成。(这四个都是抽象类)。

输出流writer

  string a = "d://bbb.txt";
  file f = new file(a);
  filewriter c = new filewriter(f,true);//不加true会覆盖之前内容,加上后会在后面写
  c.write("这是要输入的内容");//可以直接用字符串,不用转换(写文本类型推荐使用)
  c.close(); 

输入流reader

string aa ="d:\\bbb.txt";
  file bb =new file(aa);
  filereader cc = new filereader(bb);
  char[] dd = new char[100];//长度不好取(不建议用)
  cc.read(dd);
  cc.close();
  string str = new string(dd);//转换为字符串
  system.out.println(str)

既然reader去长度不好用,我们还可以用scanner(推荐)

string a = "d:\\bbb.txt";
  file b = new file(a);
  scanner sc = new scanner(b);
  //scanner每次只能取一行,所以全部取出要用while循环
  while(sc.hasnext()){ //当还有下个值的时候循环
  system.out.println(sc.nextline());
  }
  sc.close();

scanner这样取出来结果是一样的

java中流的使用

三、缓存流(处理流)。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!