IO流理解方式小结

从业以来一直对IO不甚了解,每次看到都头疼不已,最近有时间小小的总结一下,下面以FileIO流为try            byte[] byt = new byte[3];

        //文件输入流
            FileInputStream in = new FileInputStream(new File("C:\\Users\\Administrator\\Desktop\\1.txt"));        //文件输出流,输出文件与输入文件为同一件文件
            FileOutputStream out = new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\1.txt"),true);
            int length = 0;
            int i = 0;       //将输入流中的内容读到byte数组中,输入流中随后删除了被读取过的内容,length是实际读取的字节长度,当无内容时读取长度为-1
            while((-1 != (length = in.read(byt))) && i<= 110) {          //输出流将byte数组中字节输出到文件中,实际写入的长度根据length而来,避免多写入了额外的空格
                out.write(byt, 0, length);          //将byte数组中字节转化成字符串
                System.out.print(new String(byt));
                i++;
            }
            out.flush();
            out.close();
        }catch(Exception e) {
            e.printStackTrace();
        }

运行代码后,会一直进行读取和写出,知道变量i的条件不满足为止,这里我们可以了解到,IO流是一边读一边写的,如果读写为同一个文件,会一直死循环读写。

时间: 2024-10-11 03:58:39

IO流理解方式小结的相关文章

C# Excl(IO流)

IO流 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.IO; using System.Text; namespace Reorts.HelpClass { public class Class1 { public DataTable Dat(DataTable dt) { DataTable Tables =

理解IO流:InputStream和OutputStream,FileInputStream和FileOutputStream,Reader和Writer,FileReader和FileWriter,BufferedInputStream 和 BufferedOutputStream, BufferedReader 和 BufferedWriter,转换流

/* * 1.理解 "流" ? * 动态性.连续性.方向性. * * 2.在java语言中,将数据的输入/输出称之为 IO流. IO流的分类: * 1) 从方向分: 输入流 , 输出流. (参照计算机的内存) * 将数据送到内存中去称之为输入流.反之,称之为输出流. * * 2) 从处理单位来分: 字节流(8位二进制数据), 字符流(16位二进制数据). * * 3) 从是否有数据源来分: 节点流(有数据源), 处理流(必须套在节点流上). * * 3.在Java语言中,所有流类均来自

java常用IO流数据流小结

  类名 常用方法 说明 输入流 InputStream int read(); 只能读字节流,虽然返回值是int,但只有低8位起作用. DataInputStream Type readType(); 可以读二进制流,可以读byte,short,int,long,double等二进制流. BufferedReader String readLine(); 可以读文本行. 输出流 OutputStream void write(int); 只能写字节流,虽然形参是int,但只有低8为起作用. D

理解Java之IO流

流是一种抽象概念,它代表了数据的无结构化传递.用来进行输入输出操作的流就称为IO流. IO流结构 流的分类方式 按流向分:从文件/网络/内存等(数据源)到程序是输入流 从程序到文件/网络/内存等(数据源)是输出流 按数据处理单位分 字节流:以字节为单位传输数据的流,以Stream结尾的都是字节流. 字符流:以字符为单位传输数据的流,以Reader结尾的都是输入字符流,以Writer结尾的都是输出字符流. 按功能(层次)分 节点流:用于直接操作目标设备的流 处理流(也叫过滤流):是对一个已存在的流

java基础之IO流及递归理解

一.IO流(简单理解是input/output流,数据流内存到磁盘或者从磁盘到内存等) 二.File类(就是操作文件和文件夹的) 1.FIleFile类构造方法 注意:通过构造方法创建的file对象是在内存里面,而不是在磁盘里面. File(String pathname)  根据指定的路径名创建file对象 File(String parent, String child)  根据 parent 路径名字和 child 路径名创建一个File对象 File(File parent, Strin

面试官:谈谈你对IO流和NIO的理解

一.概念 NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多.在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO. 二.NIO和IO的主要区别 下表总结了Java IO和NIO之间的主要区别: 1.面向流与面向缓冲 Java IO和NIO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的. Java IO面向流意味着每次从流中读一个或多个字

C++ IO流小结

撒花庆祝下,终于看完了(C++Primer)第一部分,即将进入第二部分! IO部分,最基本的是iostream(istream.ostream),子类有fstream(ifstream.ofstream)和sstream(istringstream.ostringstream). iostream是控制窗口输入输出. fstream是文件输入输出. sstream是字符串输入输出(内存中). 如果两种类型存在继承关系,则可以说一个类“继承”了其父类的行为——接口. C++ 中所提及的父类称为基类

(转载) java:IO流学习小结

今天刚刚看完Java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理设备上得数据操作,根据处理数据的数据类型的不同可以分为:字节流(抽象基类为InPutStream和OutPutStream)和字符流(抽象基类为Reader和Writer).根据流向不同,可以分为:输入流和输出流.  其中主要结构可以用下图来表示:  字符流和字节流的主要区别: 1.字节流读取的时候

java基础(二十)IO流(三)

这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:字符流(掌握) (1)字节流操作中文数据不是特别的方