IO就是输入输出,输出流可以理解为向目标写入数据,输入流可以理解为从源地址读取。流是一组有序的数据序列。

  输入流 输出流
字节流 InputStream OutputStream
字符流 Reader Writer

输入流

InputStream类是字节输入流的抽象类,是所有字节输入流的父类。该类中所有方法遇到错误时都会引发IOException异常。

  1. read()方法

  2. read(byte[] b)方法

  3. mark(int readlimit)方法

  4. reset()方法

  5. skip(long n)方法

  6. markSupported()方法

  7. close()方法

Reader类是字符输入流的抽象类,所有字符输入流的实现都是它的子类。

输出流

OutputStream类是字节输出流的抽象类,此抽象类是表示输出字节流的所有类的父类。OutputStream类中的所有方法都是返回void,遇到错误时会引发IOException异常。

  1. write(int b)方法

  2. write(byte[] b)方法

  3. write(byte[] b, int off, int len)方法

  4. flush()方法

  5. close()方法

Writer类是字符输出流的抽象类,所有字符输出类的实现都是它的子类。

File类

File类是java.io包中唯一代表磁盘文件本身的对象。

文件的创建与删除:1. File file = new File("d:/word.txt"); 2. File file = new File(String parent, String child); 3. File file = new File(File f, String child);

获取文件信息:

方法 返回值 说明
getName() String 获取文件的名称
canRead() boolean 判断文件是否是可读的
canWrite() boolean 判断文件是否是可被写入
exists() boolean 判断文件是否存在
length() long 获取文件的长度(以字节为单位)
getAbsolutePath() String 获取文件的绝对路径
getParent() String 获取文件的父路径
isFile() boolean 判断文件对象是否是文件
isDirectory() boolean 判断文件对象是否是目录
isHidden() boolean 判断文件对象是否是隐藏文件
lastModified() long 获取文件的最后修改时间

重温IO的更多相关文章

  1. VS2015编译GEOS

    下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...

  2. inux设备驱动归纳总结(五):2.操作硬件——IO内存【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-80627.html inux设备驱动归纳总结(五):2.操作硬件——IO内存 xxxxxxxxxxxx ...

  3. 【译】深入理解python3.4中Asyncio库与Node.js的异步IO机制

    转载自http://xidui.github.io/2015/10/29/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3python3-4-Asyncio%E5%BA%93% ...

  4. happy in java之io流简介

    闲来没事,重温马士兵老师的java基础... 流  水流的流  流氓的流,,流 英文叫做stream,溪流 流的分类: 流是用来读写数据的. 流就像水流一样,File类封装的是文件的名字,它是内存里头 ...

  5. JAVA的IO操作:内存操作流

    掌握内存操作流 输入和输出都是从文件中来的,当然,也可将输出的位置设置在内存上,这就需要ByteArrayInputStream和ByteArrayOutputStream ByteArrayInpu ...

  6. 【Linux开发】linux设备驱动归纳总结(五):2.操作硬件——IO内存

    linux设备驱动归纳总结(五):2.操作硬件--IO内存 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  7. IO流 输入和输出文档内容

    package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io. ...

  8. [转] Linux下用文件IO的方式操作GPIO(/sys/class/gpio)

    点击阅读原文 一.概述 通过 sysfs 方式控制 GPIO,先访问 /sys/class/gpio 目录,向 export 文件写入 GPIO 编号,使得该 GPIO 的操作接口从内核空间暴露到用户 ...

  9. 高性能IO模型浅析

    高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型. (2)同步非阻塞IO(Non-blocking  ...

随机推荐

  1. sqoop的安装

    Sqoop是一个用来完成Hadoop和关系型数据库中的数据相互转移的工具, 他可以将关系型数据库(MySql,Oracle,Postgres等)中的数据导入Hadoop的HDFS中, 也可以将HDFS ...

  2. photo型的object转byte[]

    IEnumerable en = (IEnumerable) myObject; byte[] myBytes = en.OfType<byte>().ToArray(); TypeCon ...

  3. Virtualbox扩容C盘

    oracle vm virtualbox虚拟机里面系统盘C盘容量不够,需要扩容,步骤如下: 1.使用命令更改当前虚拟机的文件大小 VBoxManage.exe modifyhd YOUR_HARD_D ...

  4. ntp服务

    ntp服务主要是用于对计算机的时间同步管理操作.时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响,对于集群,也需要时间同步. 部署安装N ...

  5. CSS ——padding

    css样式中使用padding(内边距)会将盒子撑开? 解决办法:在样式中添加box-sizing:border-box;

  6. centos设置路由route

    一. route命令                        1) 查看:route -n      2)添加: route add  [-net|-host]  target [netmask ...

  7. CentOS7下安装Redis5.0.2

    1.下载redis 地址 http://download.redis.io/releases/redis-5.0.2.tar.gz 2.解压tar -zxf redis-5.0.2.tar.gz 3. ...

  8. Revit 插件产品架构梳理

    一.前言        BIM:Building Information Modeling 建筑信息模型,就是将建筑的相关信息附着于模型中,以管理该建筑在设计.算量.施工.运维全生命周期的情况.创建模 ...

  9. bootstrapvalidator的简单校验【必填校验、长度校验、是否存在校验(remote)】

    需求:输入框的"供应商编码"不能为空而且不能与数据库重复,供应商名称不能为空. 解决: 1.input如下 <input id="ssupplierNo" ...

  10. Vue.js中记不住 的东西

    给样式背景赋值: :style="{backgroundImage:'url(' + otherInfo.head_image + ')'}" <img :src=" ...