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

Java中的文件和IO函数:如何读取和写入文件?

发布时间:2023-05-23 05:48:09

Java是一门面向对象的高级编程语言,它内置了多个文件和IO函数用于读取和写入文件。这些函数可以帮助开发者轻松地处理文件的读写操作,从而实现程序与外部文件的交互。

文件IO是处理计算机文件的一种标准操作,它可以读取文件中的数据,或者将数据写入文件。Java中的文件IO函数与其他编程语言一样,都是通过API调用来实现的。Java中的文件和IO函数主要都在java.io和java.nio包中,下面我们来介绍一些常用的文件和IO函数。

1.读取文件

Java中读取文件的函数主要有FileInputStream和Scanner两类。

FileInputStream

FileInputStream是Java IO类库中对文件的输入流操作类,它用于从文件系统中读取数据并返回二进制数组。该类对于读取二进制文件(如图像、声音等格式)非常有用,范例代码如下:

FileInputStream fis = new FileInputStream("input.txt");
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) != -1) {
    System.out.write(buffer, 0, length);
}
fis.close();

Scanner

Scanner是Java IO类库中的一个用于读取输入的类,它可以读取文件和字符串等数据源。Scanner读取文件时,需要指定文件路径和编码方式,范例代码如下:

try {
    Scanner scanner = new Scanner(new File("input.txt"), "UTF-8");

    while (scanner.hasNextLine()) {
        System.out.println(scanner.nextLine());
    }
    scanner.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

2.写入文件

Java中写入文件的函数主要有FileOutputStream、OutputStreamWriter和BufferedWriter等几个类。

FileOutputStream

FileOutputStream是Java IO类库中对文件的输出流操作类,它用于向文件系统中写入数据,范例代码如下:

String data = "Hello world";
FileOutputStream fos = new FileOutputStream("output.txt");
fos.write(data.getBytes());
fos.close();

OutputStreamWriter

OutputStreamWriter是Java IO类库中一个转换流类,它将输出流(OutputStream)转换为字符流(Writer),支持指定编码方式。范例代码如下:

try {
    String data = "Hello world!";
    FileOutputStream fos = new FileOutputStream("output.txt");
    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
    osw.write(data);
    osw.flush();
    osw.close();
} catch (IOException e) {
    e.printStackTrace();
}

BufferedWriter

BufferedWriter是Java IO类库中对文件的高效写入流操作类,它可以减少IO操作次数,提高写入性能,范例代码如下:

try {
    String data = "Hello world!";
    File file = new File("output.txt");
    FileWriter fw = new FileWriter(file);
    BufferedWriter bw = new BufferedWriter(fw);
    bw.write(data);
    bw.flush();
    bw.close();
} catch (IOException e) {
    e.printStackTrace();
}

3.常用函数

在Java中还有一些常用的File和FileUtils函数,如下:

File类中常用的函数:

? exists():判断文件是否存在。

? isFile():判断文件是否为文件。

? isDirectory():判断文件是否为目录。

? mkdir():创建路径所表示的目录。

? delete():删除当前文件。

FileUtils类中常用的函数:

? readFileToString():读取文件内容转换为字符串。

? readLines():读取文件内容转换为字符串数组。

? write():将文本写入文件中。

? forceMkdir():强制创建路径所表示的目录。

? deleteQuietly():删除当前文件(即使文件不存在也不抛出异常)。

这些函数可以提高开发者处理文件和IO操作的效率,开发者可以根据需要选择合适的函数,从而实现对文件的读取和写入操作。

总结

Java中的文件和IO函数非常丰富,可以帮助开发者轻松地处理文件的读写操作。开发者可以根据自身需要,选择合适的函数进行操作。在使用函数之前,开发者需要了解函数的使用方法和注意事项,以免出现错误。因此,在进行文件和IO操作时,开发者需要仔细阅读API文档和范例代码,并对函数的参数和返回值进行了解。