当前位置:文档之家› API常用类(IO)

API常用类(IO)

API常用类(IO)
API常用类(IO)

A.File类的概述

?文件和目录路径名的抽象表示形式

构造方法:

?public File(String pathname)

?public File(String parent,String child)

?public File(File parent,String child)

成员方法:

1.创建功能

?public boolean createNewFile():创建文件:(一次)

?public boolean mkdir():创建文件夹(一次)

public boolean mkdirs():创建多级文件夹

如果你创建文件或文件夹忘了写盘符,在默认项目路径下

2.删除功能

?public boolean delete()

3.重命名功能

?public boolean renameTo(File dest)

4.判断功能

?public boolean isDirectory():判断是否是目录

?public boolean isFile():判断是否是文件

?public boolean exists():判断是否存在

?public boolean canRead():判断是否可读

?public boolean canWrite():判断是否可写

?public boolean isHidden():判断是否隐藏

1.

2.

3.

4.

5.基本获取功能

路径以盘符开始:绝对路径c:\\a.txt

路径不以盘符开始:相对路径 a.txt

?public String getAbsolutePath():获取绝对路径

?public String getPath():获取相对路径

?public String getName():获取名称

?public long length():获取长度。字节数

?public long lastModified():获取最后一次的修改时间,毫秒值

6.高级获取功能

?public String[] list():获取指定目录下的所有文件或者文件夹的名称数组

?public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组

7.文件名称过滤器的实现思想及代码

?public String[] list(FilenameFilter filter) ?public File[] listFiles(FilenameFilter filter)

B.字节流写数据

●OutputStream

?FileOutputStream

●往一个文本文件中写一句话:”helloworld”

?分析发现其实更适合用字符流,但是由于字节流先出现,所以,我们考虑先使用字节流后面再讲会什么出现字符流。

●FileOutputStream的构造方法

?FileOutputStream(File file)

?FileOutputStream(String name)

字节流写数据的方式

●public void write(int b):写一个字节

●public void write(byte[] b):写一个字节数组

●public void write(byte[] b,int off,int len):写一个字节数组的一部分

C.字节流读取数据

●InputStream

●FileInputStream

把刚才写的数据读取出来显示在控制台

●FileInputStream的构造方法

?F ileInputStream(File file)

?F ileInputStream(String name)

●FileInputStream的成员方法

?p ublic int read():一次读取一个字节

?p ublic int read(byte[] b):一次读取一个字节数组

D.字节缓冲流

●字节缓冲输出流

?BufferedOutputStream

●字节缓冲输入流

?BufferedInputStream

day20\code\day20_IO\src\cn\itcast_06\CopyMp4Demo.java

E.字符缓冲流

?BufferedWriter

?void newLine()

?BufferedReader

?String readLine()

day21\code\day21_IO\src\cn\itcast_05\BufferedDemo.java

F.转换流概述

●OutputStreamWriter字符输出流

?public OutputStreamWriter(OutputStream out)

?public OutputStreamWriter(OutputStream out,String charsetName) ●InputStreamReader字符输入流

?public InputStreamReader(InputStream in)

?public InputStreamReader(InputStream in,String charsetName)

G.OutputStreamWriter写数据

?public void write(int c):写一个字符

?public void write(char[] cbuf):写一个字符数组

?public void write(char[] cbuf,int off,int len):写一个字符数组一部分?public void write(String str):写一个字符串

?public void write(String str,int off,int len):写一个字符串一部分H.OutputStreamWriter读数据方法

?public int read():一次读取一个字符

?public int read(char[] cbuf):一次读取一个字符数组

转换流

I.内存操作流

●操作字节数组

?ByteArrayInputStream

?ByteArrayOutputStream

●操作字符数组

?CharArrayReader

?CharArrayWrite

●操作字符串

?StringReader

?StringWriter

?

J.随机访问流

RandomAccessFile概述

RandomAccessFile类不属于流,是Object类的子类。但它融合了InputStream和OutputStream的功能。支持对随机访问文件的读取和写入。

K.合并流

●SequenceInputStream概述

SequenceInputStream类可以将多个输入流串流在一起,合并为一个输入流,因此,该流也被称为合并流。

●SequenceInputStream的构造方法

?SequenceInputStream(InputStream s1, InputStream s2)

?SequenceInputStream(Enumeration e)

把多个文件的内容写入到一个文本文件

L.序列化流

●序列化流

?ObjectOutputStream

把对象按照流一样的方式存入文本文件或者在网络中传输。对象

-- 流数据(ObjectOutputStream)

●反序列化流

?ObjectInputStream

把文本文件中的流对象数据或者网络中的流对象数据还原成对象。

流数据 -- 对象(ObjectInputStream)

M.Properties集合

属性集合类。是一个可以和IO流相结合使用的集合类

Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串

是Hashtable的子类,说明是一个Map集合

●Properties的特殊功能

?public Object setProperty(String key,String value):添加元素

?public String getProperty(String key):获取元素

?public Set stringPropertyNames():获取所有的键的集合

●Properties和IO流的结合使用

?public void load(Reader reader):把文件中的数据读取到集合中

?public void store(Writer writer,String comments):把集合中的数据存储到文件

N.NIO包下的IO流(JDK7要了解的新IO类)

●Path:与平台无关的路径。

●Paths:包含了返回Path的静态方法。

?public static Path get(URI uri):根据给定的URI来确定文件路径。

?Files:操作文件的工具类。提供了大量的方法,简单了解如下方法

?public static long copy(Path source, OutputStream out) :

复制文件

?public static Path write(Path path, Iterable lines, Charset cs, OpenOption... options):

把集合的数据写到文件。

案例:

//复制文件

Files.copy(Paths.get("Demo.java"), newFileOutputStream("Copy.Java"));

//把集合中的数据写到文件

List list = new ArrayList();

list.add("hello");

list.add("world");

list.add("java");

Files.write(Paths.get("list.txt"), list, Charset.forName("gbk"));

相关主题
相关文档 最新文档