Java对文件的操作
in Java知识速查 with 0 comment

Java对文件的操作

in Java知识速查 with 0 comment

输入输出流


输入流:


InputStream类是字节输入流的抽象类,是所有字节输入流的父类。
该类中的所有的方法遇到错误都会引发IOException异常。下面是对该类中的一些方法的简要说明。
read() 从输入流中读取数据的下一个字节。返回0-255范围内的int字节值。如果因为已经到达末尾而没有可用的字节,则返回一个-1.
read(byte[] b) 从输入流中读取一定长度的字节,并以整数的形式返回字节数。
mark(int readlimit() 在输入流的当前位置放置一个标记,readlimit参数告知输入流在标记位置失效之前允许读取的字节数。
reset() 将输入指针返回到当前所做标记处
skip(long n) 跳过输入流上的n个字节并返回实际跳过的字节数。
markSupported() 如果当前流支持mark()/reset()操作就返回True
close 关闭次输入流并释放与该流相关的所有的系统资源。
*注意:并不是所有的子类都支持IuputStream中定义的方法,如skip(),mark(),reset()。

在java中的字符是Unicode编码,是双字节的。InputStream是用来处理字节的,并不适合处理文本。
java为文本处理专门提供了一套单独的类Reader。有关Reader不再多说。



输出流
OutputStream类是字节输出流的抽象类,此抽象类是表示输出字节流的所有的类的超类。
OutputStream类中的所有的方法返回值均为void,在遇到异常时会引发IOException异常,下面对OutputStream类中的方法做简单的介绍。
write(int b) 将指定的字节写入到此输出流。
write(byte[] b,int off,int len) 将指定的byte数组中从偏移量off开始的len个字节写入到此输出流。
flush() 彻底完成输出并清空缓存区。
close() 关闭输出流。

writer类是字符输出流的抽象类,所有字符输出类的实现都是他的子类,


File类

文件的创建与删除
可以使用File类创建一个文件对象,通常有以下三种构造方法来创建文件对象。

通过给定的父抽象路径名和子抽象路径名字符串创建一个新File实例。

    File(File parent,String child);

通过将给定的路径名字字符串抽象路径来创建一个File实例。

    File(String pathname);

根据parent路径名字符串和child路径名字符串来创建一个File实例。

    File(String parent,String child);

通过将给定的file:URL转换成一个抽象路径名字来创建一个新的File实例。

    File (URI uri);

创建File对象成功后,可以使用下列表中的方法操作文件。

  1. public String getName() 返回由此抽象路径名表示的文件或目录的名称。
  2. public String getParent() 返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回 null。
  3. public File getPath() 将此抽象路径名转换为一个路径名字符串。
  4. public boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。
  5. public String getAbsolutePath() 返回抽象路径名的绝对路径名字符串。
  6. public boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。
  7. public boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。
  8. public boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
  9. public boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
  10. public boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。
  11. public long lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间。
  12. public boolean createNewFile() throws IOException 当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。
  13. public boolean delete() 删除此抽象路径名表示的文件或目录。
  14. public void deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
  15. public String[] list(FilenameFilter filter) 返回由包含在目录中的文件和目录的名称所组成的字符串数组,这一目录是通过满足指定过滤器的抽象路径名来表示的。
  16. public String[] list() 返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组。
  17. public boolean mkdir() 创建此抽象路径名指定的目录。
  18. public boolean mkdirs() 创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。
  19. public static File createTempFile(String prefix, String suffix) throws IOException 在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。
  20. public int compareTo(File pathname) 按字母顺序比较两个抽象路径名。
  21. public int compareTo(Object o) 按字母顺序比较抽象路径名与给定对象。
  22. public boolean equals(Object obj) 测试此抽象路径名与给定对象是否相等。
  23. public String toString() 返回此抽象路径名的路径名字符串。
Responses