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

Java文件操作: 10个函数来读写和处理文件

发布时间:2023-06-09 10:04:35

Java是一门面向对象的编程语言,其提供丰富的API,其中包括文件操作API。在Java程序中,我们可以使用这些API来读、写、复制、移动和删除文件。在本文中,我们将介绍10个常用的Java文件操作函数。

1. File类

Java中使用File类来操作文件和目录。File类提供了很多方法来操作文件和目录,如创建文件、删除文件、重命名文件、判断文件是否存在等等。下面是File类的一些常用方法:

//创建文件

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

file.createNewFile();

//删除文件

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

file.delete();

//重命名文件

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

File newFile = new File("newfile.txt");

file.renameTo(newFile);

//判断文件是否存在

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

if (file.exists()) {

    //文件存在

}

2. FileWriter类

FileWriter是用于写入字符流的便捷类。它的构造方法可以指定文件名,也可以指定File对象。下面是FileWriter的一些常用方法:

Writer writer = new FileWriter("file.txt");

//写入单个字符

writer.write('a');

//写入字符串

writer.write("Hello World");

//写入字符串指定位置和长度

writer.write("Hello World", 0, 5);

//刷新缓冲

writer.flush();

//关闭流

writer.close();

3. FileReader类

FileReader是用于读取字符流的便捷类。它的构造方法可以指定文件名,也可以指定File对象。下面是FileReader的一些常用方法:

Reader reader = new FileReader("file.txt");

//读取单个字符

int c = reader.read();

//读取字符数组

char[] buffer = new char[1024];

int len;

while ((len = reader.read(buffer)) != -1) {

    //处理读取到的数据

}

//关闭流

reader.close();

4. BufferedReader类

BufferedReader是读取文本的缓冲输入流,它的构造方法需要传入一个Reader对象,可以使用FileReader来创建。BufferedReader提供的方法可以读取整行文本,也可以按字符或者字节读取文本。以下是BufferedReader的一些常用方法:

Reader reader = new FileReader("file.txt");

BufferedReader bufferedReader = new BufferedReader(reader);

//按行读取文本

String line;

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

    //处理读取到的行文本

}

//关闭流

bufferedReader.close();

5. BufferedWriter类

BufferedWriter是写入文本的缓冲输出流,它的构造方法需要传入一个Writer对象,可以使用FileWriter来创建。BufferedWriter提供的方法可以写入整行文本,也可以按字符或者字节写入文本。以下是BufferedWriter的一些常用方法:

Writer writer = new FileWriter("file.txt");

BufferedWriter bufferedWriter = new BufferedWriter(writer);

//写入一行文本

bufferedWriter.write("Hello World");

//写入字符串

bufferedWriter.write("Hello World", 0, 5);

//刷新缓冲

bufferedWriter.flush();

//关闭流

bufferedWriter.close();

6. FileInputStream类

FileInputStream是用于读取二进制流的便捷类,它的构造方法可以指定文件名,也可以指定File对象。下面是FileInputStream的一些常用方法:

InputStream inputStream = new FileInputStream("file.bin");

//读取单个字节

int b = inputStream.read();

//读取字节数组

byte[] buffer = new byte[1024];

int len;

while ((len = inputStream.read(buffer)) != -1) {

    //处理读取到的数据

}

//关闭流

inputStream.close();

7. FileOutputStream类

FileOutputStream是用于写入二进制流的便捷类,它的构造方法可以指定文件名,也可以指定File对象。下面是FileOutputStream的一些常用方法:

OutputStream outputStream = new FileOutputStream("file.bin");

//写入单个字节

outputStream.write(0x41);

//写入字节数组

byte[] buffer = new byte[]{0x41, 0x42, 0x43};

outputStream.write(buffer);

//刷新缓冲

outputStream.flush();

//关闭流

outputStream.close();

8. ByteArrayInputStream类

ByteArrayInputStream是用于从字节数组中读取数据的便捷类。以下是ByteArrayInputStream的一些常用方法:

byte[] buffer = new byte[]{0x41, 0x42, 0x43};

InputStream inputStream = new ByteArrayInputStream(buffer);

//读取单个字节

int b = inputStream.read();

//读取字节数组

byte[] buffer = new byte[1024];

int len;

while ((len = inputStream.read(buffer)) != -1) {

    //处理读取到的数据

}

//关闭流

inputStream.close();

9. ByteArrayOutputStream类

ByteArrayOutputStream是用于写入数据到字节数组中的便捷类。以下是ByteArrayOutputStream的一些常用方法:

OutputStream outputStream = new ByteArrayOutputStream();

//写入单个字节

outputStream.write(0x41);

//写入字节数组

byte[] buffer = new byte[]{0x41, 0x42, 0x43};

outputStream.write(buffer);

//获取字节数组

byte[] result = outputStream.toByteArray();

//关闭流

outputStream.close();

10. RandomAccessFile类

RandomAccessFile是Java中用于访问文件的工具类,它能够随机访问文件中的任意位置。它的构造方法可以指定文件名,也可以指定File对象。以下是RandomAccessFile的一些常用方法:

RandomAccessFile randomAccessFile = new RandomAccessFile("file.txt", "rw");

//读取单个字符

char c = randomAccessFile.readChar();

//读取字节数组

byte[] buffer = new byte[1024];

randomAccessFile.read(buffer);

//写入单个字节

randomAccessFile.writeByte(0x41);

//写入字节数组

byte[] buffer = new byte[]{0x41, 0x42, 0x43};

randomAccessFile.write(buffer);

//关闭流

randomAccessFile.close();

总结

以上这些函数是Java文件操作中比较常用的,通过它们我们可以读写文件,处理文件,实现复制、移动和删除文件等操作。需要注意的是,在使用文件流时要确保关闭流,否则可能会导致资源泄漏和其他错误。