Java 流(Stream)、文件(File)和IO 的学习笔记 |
您所在的位置:网站首页 › java文件和文件的读写方法 › Java 流(Stream)、文件(File)和IO 的学习笔记 |
Java 流(Stream)、文件(File)和IO
Java.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。 一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。 Java为I/O提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。 java IO流I/O类库中使用“流”这个抽象概念。Java对设备中数据的操作是通过流的方式。表示任何有能力产出数据的数据源对象,或者是有能力接受数据的接收端对象。“流”屏蔽了实际的I/O设备中处理数据的细节。IO流用来处理设备之间的数据传输。设备是指硬盘、内存、键盘录入、网络等。 IO的分类可以为: 流按操作数据类型的不同分为两种:字节流与字符流。 流按流向分为:输入流,输出流(以程序为参照物,输入到程序,或是从程序输出)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vM2caHH4-1590807953678)(C:\Users\ABC\Desktop\暂存\8926909-b2b4859ffeb3ae26.png)] 一、字节流 1、InpustreamInputStream有read方法,一次读取一个字节,OutputStream的write方法一次写一个int。这两个类都是抽象类。意味着不能创建对象,那么需要找到具体的子类来使用。 示例一:使用 read()方法,一次读取一个字节,读到文件末尾返回-1. // 打开流 FileInputStream fis = new FileInputStream(path); int len; while ((len = fis.read()) != -1) { System.out.print((char) len); } // 使用完关闭流 fis.close();示例二:使用read()方法的时候,可以将读到的数据装入到字节数组中,一次性的操作数组,可以提高效率。 // 打开流 FileInputStream fis = new FileInputStream(path); // 通过流读取内容 byte[] byt = new byte[1024]; int len = fis.read(byt); for (int i = 0; i System.out.print((char) byt[i]); } // 使用完关闭流 fis.close();示例四:使用缓冲(提高效率),并循环读取(读完所有内容). //使用字节数组当缓冲 FileInputStream fis = new FileInputStream(path); byte[] byt = new byte[1024]; int len = 0; while ((len = fis.read(byt)) != -1) { System.out.println(new String(byt, 0, len)); } fis.close(); 2、OutputStreamOutputStram 的write方法,一次只能写一个字节。为了提高效率,可以使用缓冲,在OutputStram类中有write(byte[] b)方法,将 b.length个字节从指定的 byte 数组写入此输出流中。 // 打开文件输出流,流的目的地是指定的文件 FileOutputStream fos = new FileOutputStream(path,true); // 通过流向文件写数据 byte[] byt = "java".getBytes(); fos. |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |