码迷,mamicode.com
首页 > 编程语言 > 详细

java开发知识IO知识之输入输出流以及文件

时间:2018-10-22 17:50:36      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:code   ima   代码   support   pre   跳过   cat   数据   资源   

java开发知识IO知识之输入输出流以及文件

一丶流概述

流十一组有序的数据序列.根据操作的类型,可以分为输入流跟输出流两种. IO(input/output)输入/输出流提供了一条通道程序.可以使用这条通道把源的字节序列送到目的地

简单来说. 就是操作二进制. 二进制提供了读写功能. 写就是输出. 读就是输入.
输入输出流图示:
技术分享图片

输入流讲解 InputStream类.

1. 输入流以及类层次结构

输入流就是从"文件" 读取到内存. 这个文件是抽象的.意思就是不管什么内容从硬盘也好.任何地方读到内存就是输入流. 
首先InputStream是抽象类. 是素有字节输入流的父类.

抽象类中的方法:
read(); 从输入流中读取数据的下一个字节. 返回0~255范围内的int字节. 也就是读取一个字节.如果到了末尾.返回-1
read(byte[] b); 从输入流中读取一个字节数组大小.
mark(int readlimit); 输入流当前位置放置一个标记. 参数的意思就是告诉输入流在标记位置失效之前允许读取的字节数.
reset(); 将输入指针.返回到当前所做的标记处. 意思就是移动文件指针.移动到你标记的地方.
skip(long n); 跳过n个字节.并返回实际跳过的字节数.
markSupported(); 如果当前流支持 mark()/reset() 操作就会返回true
close(); 关闭流句柄.释放系统资源.
InputStream类的层次结构
技术分享图片
我们可以看到.有一个FileInputStream 这个类就是操作文件的.

2.文件操作.使用输入流读取

我们可以使用FileInputStream从一个文件中读取字节到内存.

实现代码

    try {
            FileInputStream in = new FileInputStream("1.txt");
            byte szbuf[] = new byte[10];
            in.read(szbuf);//读取到字节数组中
            System.out.println(new String(szbuf));
        } catch (Exception e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }

java开发知识IO知识之输入输出流以及文件

标签:code   ima   代码   support   pre   跳过   cat   数据   资源   

原文地址:https://www.cnblogs.com/iBinary/p/9831096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!