首页 > 编程语言 > 详细

IO流(Java)

时间:2020-03-02 09:10:55      阅读:70      评论:0      收藏:0      [点我收藏+]

Java的IO流

IO流的分类

技术分享图片

输入流:把数据从硬盘读取到内存。

输出流:把数据从内存写出到其他设备。

字节流:以字节为单位,读写数据的流。

字符流:以字符为单位,读写数据的流。

字节输出流(OutputStream)

(一)OutputStream表示字节输出流的所有超类。下面定义了字节输出流的所有共性方法。

常用方法

         •public void close():关闭此此输出流并释放资源。

         •public void fiush():刷新此输出流并强制任何缓冲的输出字节被写出。

         •public void write(byte [ ] b):将b.length从指定的字节数组写入此输出流。

         •public void write(byte [ ] b,int off,int len):从指定的字节数组写入此输出流,off字节数组索引。

         •public abstract void write(int b):指定的字节输出流。

(二)FileOutputStream文件输出流 OutputStream的子类

构造方法:

        public FileOutputStream(File file):创建文件输出流以写入由指定的File对象表示的文件。

         public FileOutputStream(String name):创建文件输出流以指定的名称写入文件。

 

public class A {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\IO\\m.txt",true);//append数据追加开关
        byte [] b = {98,99,100,34};
        fos.write(b);
        fos.write("\r\n".getBytes());//windows系统下的换行符
        fos.write("你好".getBytes());//getBytes()方法返回一个字节数组
        fos.close();
    }
}

 

字节输入流(InputStream)

(一)InputStream表示字节输出流的所有超类。下面定义了字节输出流的所有共性方法。

        • public void close():关闭此输入流并释放资源

        • public abstract int read():从输入流读取数据的下一个字节。(返回下一个读取到的字节)

        • public int read (byte [ ] b):从输入流中读取一些字节数,并将它们存储到字节数组b中。(返回读取的字节数)

(二)FileInputStream文件输出流 InputStream的子类

 

构造方法:

 

        • public InOutputStream(File file):打开由指定的File对象表示的文件。

 

       public FileInputStream(String name):打开由指定的名称写入文件。

 

public class TestOne {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("D:\\IO\\a.txt");
        int len = 0;
        while((len = fis.read())!=-1){
            System.out.println(len);
        }
    }
}
/*中文:
GBK:一个中文两个字节
UTF-8:一个中文三个字节
* */

字符输入流(Reader

  • public void close() :关闭此流并释放与此流相关联的任何系统资源。

  • public int read() : 从输入流读取一个字符。

  • public int read(char[] cbuf) : 从输入流中读取一些字符,并将它们存储到字符数组 cbuf中 。

 

FileReader

 

  • FileReader(File file) : 创建一个新的 FileReader ,给定要读取的File对象。参数:读取文件的数据源   File file:一个文件。

  • FileReader(String fileName) : 创建一个新的 FileReader ,给定要读取的文件的名称。当你创建一个流对象时,必须传入一个文件路径。参数:读取文件的数据源 String fileName:文件的路径。

 

 

 字符输出流(Writer)

常用方法:

  • void write(int c) :写入单个字符。
  • void write(char[] cbuf): 写入字符数组。
  • abstract void write(char[] cbuf, int off, int len) :写入字符数组的某一部分,off数组的开始索引,len写的字符个数。
  • void write(String str) :写入字符串。
  • void write(String str, int off, int len) :写入字符串的某一部分,off字符串的开始索引,len写的字符个数。
  • void flush() :刷新该流的缓冲。
  • void close() :关闭此流,但要先刷新它。

FileWriter

 

  • FileWriter(File file)根据给定的 File 对象构造一个 FileWriter 对象。 参数:写入数据的目的地 File file:是一个文件
  • FileWriter(String fileName) 根据给定的文件名构造一个 FileWriter 对象。 参数:写入数据的目的地 String fileName:文件的路径

 

注意事项:

 

  • flush刷新缓冲区,流对象可以继续使用。
  • close :先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了

 

 

 

代码步骤同字节流,就此略过。

 

IO流(Java)

原文:https://www.cnblogs.com/hutree/p/12393315.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!