第十章 总结 File I/O

程序的主要任务就是操作数据。

文件是指相关记录或放在一起的数据的集合。

10.1.1  使用File类操作文件或目录属性

Java.io 包提供了一些接口和类,对文件进行基本的操作,包

File对象即可以表示文件,也可表示目录,利用它可用来对文件或目录进行基本的操作

创建一个File对象

File file=new File(String pathName);

File对象是java.io包中引用磁盘文件的唯一对象。

File类提供了一些重要的方法来管理文件或目录的属性。

常用方法

Boolean exists()  判断文件或目录是否存在

Boolean isFile() 判断是否是文件

Boolean isDirectory()  判断是否是目录

String  getPath()  返回此对象表示的文件的相对路径名

String  getAbsolutePath()  返回此对象表示的文件的绝对路径名

String  getName()  返回此对象表示的文件或目录的名称

Boolean delete()   删除此对象指定的文件或目录

Boolean createNewFile()  创建名称的空文件,不创建文件夹

Long length()  返回文件的长度,单位为字节,若文件不存在,则返回)0L

10.2   Java的流

File类不能访问文件的内容。

读文件,是把文件中的数据读取到内存中,

写文件,是指把内存中的数据写到文件中

流,是指一连串流动的字符,是以先进先出的方式发送和接收数据的通道。

在程序中,这些输入,输出流的类的对象成为流对象。

数据源分为源数据源和目标数据源。

输入流联系的是源数据源。

输出流联系的则是目标数据源。

输入流:只能从中读取数据,而不能向其中写入数据。

InputStream和Reader作为基类

输出流:只能向其中写入数据,而不能从中读取数据。

OutputStream和Write作为基类

字节流操作的最小数据单元为8位的字节,而字符流操作的最小数据单元是16位的字符。

字节流建议用于二进制数据(如图片),而字符流用于文本。

10.3  读写文本文件

1.字节输入流InputStream类

字节输入流InputStream的作用就是将文件中的数据输入到内存中,常用方法

Int read()    读取一个字节数据,转换为0-255之间的整数返回。

Int read(byte[]  b)     将数据读取到字节数组中

Int read(byte[] b, int off, int len)    从输入流中读取最多len长度的字节,保存到字节数组b中,保存的位置从off开始

Void close()   关闭输入流

Int  available()    返回输入流读取的估计字节数

2.字节输入流FileInputStream类

通常使用InputSteam的子类FileInputStream类来实现文本文件内容的读取。

创建文件输入流对象

(1)FileInputStream(File file)

File指定文件数据源

File  file = new File(“ C:\\test.txt”);

InputStream is=new FileInputStream(file);

这样,文件输入流对象is就和源数据源(C:\\test.txt文件)联系起来了。

(2)FileInputStream(String name)

Name指定文件数据源,包含路径信息

InputStream is= new FileInputStream(“C:\\test.txt”);

3.使用FileInputStream读取文件

具体使用步骤

(1)引入相关的类

(2)创建一个文件输入流对象

(3)利用文件输入流的方法读取文本文件的数据

(4)关闭文件输入流对象

10.3.2   使用字节流写文本文件

字节输出流OutputStream的作用是把内存中的数据输出到文件中,常用方法

Void write(int c)  写入一个字节数据

Void write(byte[] buf)    写入数组buf的所用字节

Void write(byte[] b, int off, int len)   将字节数组中从off位置开始,长度为len的字节数据输出到输出流中

Void close()   关闭输出流

2.字节输出流FileOutputStream类

通常使用OutputStream的子类FileOutputStream类来实现向文本文件写入数据。

常用的构造方法有3个

(1)FileOutputStream(File file)

File指定文件目标数据源

File file=new File(“C:\\test.txt”);

FileOutputStream fos=new FileOutputStream(file);

文件输出流对象fos和目标源数据源(C:\\test.txt文件)就联系起来了

(2)FileOutputStream(String name)

Name指定文件目标数据源,包含路径信息。

FileOutputStream fos=new FileOutputStream(“C:\\test.txt”);

(3) FileOutputStream(String name,boolean append)

Name指定文件目标数据源,包含路径信息。

Append表示是否在文件末尾添加数据,若为true,则在文件末尾添加数据

FileOutputStream fos=new FileOutputStream(“C:\\test.txt”,true);

3.使用FileOutputStream写文本文件具体使用步骤

(1)引入相关的类

(2)构造一个文件输出流对象

(3)利用文件输出流的方法把数据写入文本文件中

String  str=”好好学习Java”;

Byte[] words=str.getBytes();

//利用write方法将数据写入文本文件中

Fos.write(words,0,words.length);

(4)关闭文件输出流。

Fos.close();

转载于:https://www.cnblogs.com/123blogs/p/4194815.html

Java File IO相关推荐

  1. java file.io的各种使用

    File类 File可以表示一个文件的名字也可以表示某个目录下一堆文件的名字,如果是表示多个文件,那么可以使用list方法来获取他们的set集合,返回的是一系列的字符串.下面我们就来看下如何使用这个类 ...

  2. java基础--IO流之File类

    一.File类概述 用来将文件或者文件夹封装成对象,方便对文件与文件夹的属性信息进行操作,File对象可以作为参数传递给流的构造函数 二.File类常见方法: 1,创建 boolean createN ...

  3. 已解决:An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream canno

    tomcat报错 An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream ...

  4. Java的IO流之File类

    java的IO流模块常用的工具有File.字节流.字符流.特殊操作流,本篇文章便是本人学习File类的一次学习记录. 一.File类概述 File:是文件和目录路径名的抽象表示 ① 文件和目录是可以通 ...

  5. 11. Java File和IO流(下)

    Java File和IO流 5. 缓冲流 5.1 概述 5.2 字节缓冲流 5.3 字符缓冲流 6. 转换流 6.1 问题引出 - 不同编码读取乱码问题 6.2 字符输入转换流 6.3 字符输出转换流 ...

  6. Java API(2) File IO 异常 多线程 01-05

    文章目录 day01 File类 创建一个新文件 删除一个文件 创建目录 删除目录 访问一个目录中的所有子项 获取目录中符合特定条件的子项 Lambda表达式 day02 JAVA IO Java定义 ...

  7. JAVA File类、IO流体验与简介(字节流、字符流、序列流、打印流、编码、递归)

    1. File类 1.1. File类说明 存储在变量,数组和对象中的数据是暂时的,当程序终止时他们就会丢失.为了能够永 久的保存程序中创建的数据,需要将他们存储到硬盘或光盘的文件中.这些文件可以移动 ...

  8. Java输入输出(io)流详解、图解

    stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有的stream(包括Inputstream和Out stream)都包括两种类型: (1)字节流 ...

  9. java File类 常用相关函数

    java File类 相关函数 1.构建函数 2.判断相关函数 4.创建相关函数 5.删除相关函数 6.获取相关函数 1.构建函数 /*** File 构造方法* file 常用构造方法* 1: Fi ...

最新文章

  1. 获取轮廓、获取内接矩形
  2. 一种网络进程间通信的方式—— 管道
  3. tensorflow随笔-tf.decode_csv
  4. 坚持学习打卡的人,将来会变成什么样?
  5. opencv4版本和3版本_世界名曲鸽子最好听的3个版本,美醉了!
  6. java 原子类能做什么_Java原子类中可以靠版本号比较为什么还需要CAS操作??
  7. Robot Framework--08 List Variables-List变量及其用法
  8. 云计算-从基础到应用架构系列-云计算的演进
  9. BugkuCTF-MISC题做个游戏
  10. PyQT项目优化---添加多线程数控制
  11. java lombok ppt,Lombok详解
  12. React 实现 PDF 文件在线预览 - 手把手教你写 React PDF 预览功能
  13. 鲲鹏大数据解决方案拆解:用硬实力跨越技术与应用的鸿沟
  14. 安卓虚拟摄像头_iPhone 的“第四颗摄像头”位置,为什么给了激光雷达?
  15. processOn在线制图工具
  16. 畅谈癌症的过去现在未来
  17. win7计算机无法连接投影仪,win7系统无法连接投影仪的解决方法
  18. Spring Boot - 让人抓狂的ClassNotFoundException
  19. html scr 拼接,浅谈html中scr与href是什么?scr与href有什么区别?
  20. 输入、输出电阻与带负载能力的总结

热门文章

  1. 向量加减法首尾规律_向量加减口诀首尾相接
  2. TensorFlow入门--实现多层感知机
  3. Win7,Win8下多实例运行Excel2010
  4. Jetson TX2板载相机opencv调用打开
  5. 数理统计--相关系数
  6. springboot 做表白墙_经贸吐槽墙 |2020.12.13
  7. QT 012 [深入] Qt setupUi函数的原理和实现
  8. css自动换行加前置_StudyNode -- CSS
  9. python opencv 摄像头_python+opencv实现摄像头调用的方法
  10. php input框圆角样式,CSS如何实现边框圆角