欢迎访问宙启技术站
智能推送

Java中常用的IO函数及用法详解

发布时间:2023-05-28 15:39:34

1. File类

File类用于表示文件或目录路径名的抽象表示,提供了创建、删除、重命名等文件操作方法。常用方法如下:

1)创建文件或目录

File file = new File("filePath");

if(!file.exists()){

    file.mkdirs();  // 创建文件或目录

}

2)删除文件或目录

File file = new File("filePath");

if(file.exists()){

    file.delete();  // 删除文件或目录

}

3)重命名文件或目录

File file = new File("oldFilePath");

File newFile = new File("newFilePath");

if(file.exists()){

    file.renameTo(newFile);  // 重命名文件或目录

}

2. FileInputStream类

FileInputStream类用于从文件中读取数据流,可读取字节、字节数组等数据。常用方法如下:

1)读取单个字节

FileInputStream fis = new FileInputStream("filePath");

int data = fis.read();

System.out.println(data);

2)读取字节数组

byte[] buffer = new byte[1024];

int length = fis.read(buffer);

System.out.println(new String(buffer, 0, length));

3)关闭输入流

fis.close();

3. FileOutputStream类

FileOutputStream类用于向文件中写入数据流,可写入字节、字节数组等数据。常用方法如下:

1)写入单个字节

FileOutputStream fos = new FileOutputStream("filePath");

fos.write('a');

2)写入字节数组

byte[] buffer = new byte[1024];

fos.write(buffer);

3)清空输出缓冲区

fos.flush();

4)关闭输出流

fos.close();

4. BufferedReader类

BufferedReader类用于读取文本文件,提供了按行读取、跳过空白行等功能。常用方法如下:

1)按行读取文件

BufferedReader br = new BufferedReader(new FileReader("filePath"));

String line = "";

while((line = br.readLine()) != null){

    System.out.println(line);

}

2)跳过空白行

while((line = br.readLine()) != null){

    if(!line.trim().equals("")){

        System.out.println(line);

    }

}

3)关闭输入流

br.close();

5. BufferedWriter类

BufferedWriter类用于向文本文件中写入数据,提供了缓存写入、追加写入、换行等功能。常用方法如下:

1)缓存写入文件

BufferedWriter bw = new BufferedWriter(new FileWriter("filePath"));

bw.write("Hello World");

bw.flush();  // 将缓存区的数据写入文件

2)追加写入文件

BufferedWriter bw = new BufferedWriter(new FileWriter("filePath", true));

bw.write("Hello World");

bw.newLine();  // 换行

bw.flush();

3)关闭输出流

bw.close();

6. ObjectInputStream类

ObjectInputStream类用于从文件中读取Java对象,可用于反序列化Java对象。常用方法如下:

1)读取Java对象

ObjectInputStream ois = new ObjectInputStream(new FileInputStream("filePath"));

Object obj = ois.readObject();

System.out.println(obj);

2)关闭输入流

ois.close();

7. ObjectOutputStream类

ObjectOutputStream类用于将Java对象写入文件,可用于序列化Java对象。常用方法如下:

1)将Java对象写入文件

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("filePath"));

oos.writeObject(obj);

2)清空输出缓冲区

oos.flush();

3)关闭输出流

oos.close();