Java File IO

第十章 总结 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();

时间: 2024-12-19 17:50:17

Java File IO的相关文章

Java File IO学习笔记

声明:以下转载自:Java中的File文件类详解 文件操作在Java的io操作中占有十分重要的地位,本文从以下几个方面来接受Java中对文件的操作. 1.Java中新建或者删除一个文件,文件夹以及createNewFile(),delete(),mkdir(),mkdirs()函数的使用. 2. 判断文件的函数:exists(),isFile(),isAbsolute(),isDirectory(),canRead(),canWrite(),isHidden()函数的使用. 3. 文件属性的函数

Java File IO 练习题:把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.In

JAVA之IO技术File类的使用

package ioTest.io3; /* * File类是对文件和文件夹的抽象. * File类的常见方法: * 1.创建 * createNewFile():在指定的位置创建文件,如果该文件已经存在,则不创建,返回false. * 和输出流对象不一样,输出流对象,只要已建立就创建,如果文件存在,则覆盖. * mkdir():创建此抽象路径名指定的目录 * mkdir():创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. * 2.删除 * delete() * deleteOnEx

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m

java之io之File类的list()方法过滤目录的使用

java的io的知识中,File类必须掌握.File类是对文件或者文件夹的封装.它本身并不能对所封装的文件进行读写,它封装的只是文件或文件夹的周边知识,比如 大小啦,创建日期啦,路径啦等等. 如果File封装的文件夹,File类的list()方法可以将此文件夹下的所有文件夹和文件已字符串数组的形式返回. list(FilenameFilter)可以对返回的字符串数组进行过滤,取自己想要的字符串. ?打印文件夹下的.java文件 实现1 package com.westward.io; impor

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

java中IO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象, 这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的. /** * 获取路径文件夹下的所有文件 * @param path * @return */ public static File[] ge

Java操作IO各主要类介绍

DataInputStream和DataOutputStream 往二进制文件中读和写入java基本数据类型 public class BinaryReadWrite { private DataInputStream dis = null; private DataOutputStream dos = null; private String s_FilePath = "config\\bin.dat"; private byte[] buff = "{\"nam

【JAVA】IO详解

综合各种网文得出此文 引用 [1]http://blog.csdn.net/yczz/article/details/38761237 [2]http://www.cnblogs.com/pepcod/archive/2013/01/20/2913435.html [3]http://blog.csdn.net/zhangerqing/article/details/8466532 首先 先挂一图,这个图是java中类的层次结构 引用自[1] . Java的IO是基于流的. 流是什么: 流相当于