文件和IO处理的Java函数
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处理函数可以简化程序的复杂度,提高程序的效率。
