多语言展示
当前在线:1132今日阅读:75今日分享:44

JAVA里面I/O 输入输出(一)

io就是进行读写数据,我就简单介绍io非常适合新手
方法/步骤
1

1、IO概念什么是IO?IO就是:Input 和 Output,输入输出,进行读写数据试想我们平常使用的电脑有哪些IO设备?试想一下我们平时用的System.out.println(“hello world”)是如何输出到我的控制台上的?又试想一下假如我想用java程序把”hello world”写入到一个电脑硬盘上的某个文件中?我们又该如何做?再试想一下假如我想用java程序读取我电脑硬盘上的某个文件的内容,我又该如何做?

2

2、那么Java IO设计又是如何的呢?在Java程序中,对于数据的输入/输出操作以“流”(stream)方式进行什么叫流?就是你连接到你的文件或者某个数据源的那个管道,就叫流J2SDK提供了各种各样的“流”类,用以获取不同种类的数据程序中通过标准的方法输入和输出数据下图是Java流式输入/输出原理:(这里讲的输入输出都是相对于我们的程序而言的)处理IO的类位于java.io包下面,具体查看Java的API

3

3、输入/输出流的分类java.io 包中定义了多个流类型(类或者抽象类)来实现输入/输出功能

4

3、从不同的角度对其进行分类按数据流的方向不同可以分为输入流和输出流注意:输入和输出都是相对我们的程序而言的比如:输入:从文件读数据到程序输出:从程序往文件写数据按处理数据的单位不同可以分为字节流和字符流(1个字符两个字节)字节流:最原始的流(),只不过它不是一位一位的读,而是一个字节一个字节的读字符流:一个字符一个字符的读和写试想一下,字符流可以读取一个汉字吗?字节流可以读取一个汉字吗?按照功能不同可以分为节点流和处理流节点流:直接从一个特定的数据源(节点)读取数据(如:文件,内存等)处理流:是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能为什么要有处理流啊?就好像你处理水流有杂质需要过滤一样,处理流可以将最原始的流包装成更为强大的流,方便程序的读写。

5

JDK所提供的所有流类型位于java.io内,都分别继承自以下四种抽象流类型(查API文档)

6

4、InputStream继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节(8bit)下图中深色的为节点流,浅色的为处理流

7

4、InputStream的基本方法read()//读取一个字节(8bit)并以整数的形式返回(0~255)//如果返回-1表示已到输入流的末尾public int read() throws IOException注意:每次读取一个字节 read(byte[] b)//读取一系列字节并存储到一个数组b(缓冲区,小桶)//返回实际读取的字节数,如果读取前已到输入流的末尾返回-1public int read(byte[] b) throws IOException解释:p2p软件(电驴,变态下载)毁硬盘—读写硬盘的次数非常的频繁,所以我在内存里缓冲一下 read(byte[] b, int off, int len)//读取len个字节//并存储到一个字节数组b(缓冲区)中,从off位置开始存//返回实际读取的字节数,如果读取前已到输入流的末尾返回-1public int read(byte[] b, int off, int len) throws IOException  close()//关闭流,释放内存资源public void close() throws IOException skip(long n)//跳过n个字节不读,返回实际跳过的字节数(实际开发中用的比较少)public long skip(long n) throws IOException

推荐信息