I/O(输入输出)

刺骨的言语ヽ痛彻心扉 2023-07-13 04:13 184阅读 0赞


流是一组有序的数据序列,根据操作类型,可以分为输入流、输出流两种。
输入流
InputStream是字节输入流的抽象类,是所有字节输入流的父类。
方法 see below

  1. read() : 从输入流中读取数据的下一字节。返回0~255范围的int字节值

在这里插入图片描述

  1. 注意:不是所有的Inputstream类的子类都支持InputStream中定义的方法。如skip()、mark()、等只对某些子类有用

输出流
OutStream类是字节输出流的抽象类。所有方法都返回void。

  1. write(int b):将指定的字节写入此输出流
  2. write(byte[] b):将b个字节从指定的数组byte数组写入此输出流
  3. write(byte[] bint offint len):从off开始len个字节写入此输出流
  4. flush():彻底完成输出并清空缓存区
  5. close():关闭输出流

File类

文件的创建与删除
1.File(String pathname)==》pathname指路径名称 例如 d:/1.txt
2.File(String pathname,String child)根据定义的父路径和子路径字符串创建一个新的File对象。

  1. new File(String pathname,String child);

3.File(File f,String child)
根据parent抽象路径和child路径名字字符串创建一个新实例

当用File类创建一个文件对象后 see below(pay attention to)

  1. File file = new File("world.txt");

如果当前目录不存在名为word的文件,File类对象可以通过调用creatrNewFile()方法创建一个文件,反之,如果已经存在,可通过delete()方法删除。

//代码准确性不可考,bug有点搞就没改对了。但还是有一点点参考价值,2333

  1. public class FileTest{
  2. public static void mian(String[] args){
  3. File file = new File("word.txt");
  4. if(file.exists()){ //如果文件存在
  5. file.delete();
  6. System.out.println("delete file");
  7. }
  8. else
  9. {
  10. try{
  11. file.createNewFile();
  12. System.out.println("creat file");
  13. }
  14. catch(Exception e)
  15. {
  16. e.prinStackTrace();
  17. }
  18. }
  19. }
  20. }

获取文件信息
看表格吧,敲出来有点多!!!
在这里插入图片描述

文件输入输出流

FileInputStream类和FileOutStream类都用来操作磁盘文件。

  1. FileInputStream(String name)==》使用给定的文件名name创建一个FileInputStream对象
  2. FileInputStream(File file)==》允许把文件连接输入流之前对文件进行一个分析//这句话没懂我透

FileReader类和FileWriter类
顺序地读取文件只要不关闭流,调用read()就可。
带缓存的输入输出流
BufferedInputstream与BufferedOutputStream类

  1. BufferedInputstream类的构造方法
  2. BufferedInputstream(InputStream in);
  3. 创建一个带有32个字节的缓存流
  4. BufferedInputstream(InputStream in,int size);
  5. 按指定大小来创建缓存区

BufferedInputstream有一个flush()方法用来将缓存区的数据强制输出完。
flush具体看图(下面会在提到)
在这里插入图片描述

BufferedReader与BufferdWriter类
(分别继承了Reader类与Writer类)

  1. BufferedReader的常用方法
  2. read():读取单个字符
  3. readLine():读取一个文本行
  4. write(String s,int off,int len):写入字符串的某一部分
  5. flush():刷新该流的缓存
  6. newLine():写入一个行分隔符

数据输入输出流
DataInputStream类与DataOutputStream类
在这里插入图片描述
java中的字符是Unicode编码(双字节),writeBytes只是将字符串中的每一个字符低字节内容写入目标设备;writeChars将字符串的每一个字符的两个字节的内容都写到目标设备中;writeUT按照UTf编码后的字节长度写入目标设备,然后才是每一个字节的UFT编码。

发表评论

表情:
评论列表 (有 0 条评论,184人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java IO输入输出流详解

    Java的IO(Input/Output)是一个非常庞大和重要的主题,在任何一个Java程序中都会涉及到IO操作。IO操作是指程序与外部设备之间进行数据传输的过程,例如读取文件

    相关 Java的IO输入输出

    可将Java 库的IO 类分割为输入与输出两个部分,这一点在用Web 浏览器阅读联机Java 类文档时便可知道。通过继承,从InputStream(输入流)衍生的所有类都拥有名