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

文件和IO处理的Java函数

发布时间:2023-06-12 18:15:27

Java作为一种面向对象的编程语言,其在文件和IO处理方面也有着自己的特点。文件和IO处理是Java中常用的功能,不仅可以帮助我们读取和写入数据,还可以帮助我们进行文件或目录的操作。

下面将介绍Java中常用的文件和IO处理函数。

一、文件读取

1. FileReader

FileReader类用于读取字符文件,是Reader类的子类。可以通过FileReader来读取文件中的字符,调用FileReader时需要指定文件路径。

示例代码:

FileReader fileReader = new FileReader("file.txt");
int ch;
while ((ch = fileReader.read()) != -1) {
    System.out.print((char) ch);
}
fileReader.close();

2. BufferedReader

BufferedReader类用于读取文本文件,可读取一行、多行或整个文件内容。BufferedReader有一个readLine()方法,可以读取文件中一行的内容。该方法返回一个字符串,如果已经到达文件末尾,则返回null。

示例代码:

BufferedReader bufferedReader = new BufferedReader(new FileReader("file.txt"));
String line;
while ((line = bufferedReader.readLine()) != null) {
    System.out.println(line);
}
bufferedReader.close();

二、文件写入

1. FileWriter

FileWriter类用于写出字符文件,是Writer类的子类,表示输出字符流的外部写入器。可以通过FileWriter来写入文件中的字符,调用FileWriter时需要指定文件路径。

示例代码:

FileWriter fileWriter = new FileWriter("file.txt");
fileWriter.write("Hello, world!");
fileWriter.close();

2. BufferedWriter

BufferedWriter类用于写入文本文件,可写入一行、多行或整个文件内容。BufferedWriter有一个newLine()方法,可以写入一个跨平台的换行符。

示例代码:

BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("file.txt"));
bufferedWriter.write("Hello, world!");
bufferedWriter.newLine();
bufferedWriter.write("Hello, Java!");
bufferedWriter.close();

三、文件操作

1. File类

File类用于代表文件或目录的路径名抽象表示。File类提供了创建、删除、重命名、获取文件信息等方法。File的构造方法可以传入一个文件路径或一个文件夹路径,根据传入的路径字符串创建File对象。

示例代码:

File file = new File("file.txt");
System.out.println("文件名:" + file.getName());
System.out.println("文件路径:" + file.getPath());
System.out.println("文件绝对路径" + file.getAbsolutePath());
System.out.println("文件父目录:" + file.getParent());
System.out.println("文件长度:" + file.length() + " bytes");

File directory = new File("D:\\test");
System.out.println("文件夹名称:" + directory.getName());
System.out.println("文件夹绝对路径:" + directory.getAbsolutePath());
System.out.println("文件夹路径下所有文件:");
for (File f : directory.listFiles()) {
    System.out.println(f.getName());
}

2. FileInputStream

FileInputStream类用于读取文件中的字节,是InputStream类的子类。可以通过FileInputStream来读取文件中的字节,调用FileInputStream时需要指定文件路径。

示例代码:

FileInputStream fileInputStream = new FileInputStream("file.txt");
int ch;
while ((ch = fileInputStream.read()) != -1) {
    System.out.print((char) ch);
}
fileInputStream.close();

3. FileOutputStream

FileOutputStream类用于写出字节到文件中,是OutputStream类的子类。可以通过FileOutputStream来写出字节到文件中,调用FileOutputStream时需要指定文件路径。

示例代码:

byte[] bytes = "Hello, world!".getBytes();
FileOutputStream fileOutputStream = new FileOutputStream("file.txt");
fileOutputStream.write(bytes);
fileOutputStream.close();

4. BufferedInputStream

BufferedInputStream类用于读取数据源,这个数据源可以是输入流中的数据,或者指定的字节数组中的数据。BufferedInputStream是InputStream的子类。读取的时候是先把数据缓存到内存中,然后再从内存中读取,所以读取的效率比较高。

示例代码:

BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("file.txt"));
int ch;
while ((ch = bufferedInputStream.read()) != -1) {
    System.out.print((char) ch);
}
bufferedInputStream.close();

5. BufferedOutputStream

BufferedOutputStream类用于写出数据,可以将数据写到输出流中或者指定的字节数组中。BufferedOutputStream是OutputStream的子类。写出的时候是先把数据缓存到内存中,然后再一次性写出,所以写出的效率比较高。

示例代码:

byte[] bytes = "Hello, world!".getBytes();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream("file.txt"));
bufferedOutputStream.write(bytes);
bufferedOutputStream.close();

以上就是Java中常用的文件和IO处理函数,希望能为大家提供一些帮助。在实际开发中,要根据具体的需求来选用适当的函数,合理利用文件和IO处理函数可以简化程序的复杂度,提高程序的效率。