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

如何使用Java内置的IO函数进行文件读写

发布时间:2023-06-17 18:01:22

在Java中,可以使用内置的IO函数进行文件读写。常见的IO函数有InputStream、OutputStream、Reader、Writer以及它们的子类。这些函数提供了不同的方式读写文件,可以根据具体需求选择合适的函数进行操作。

对于文件读操作,可以使用InputStream和Reader进行读取。InputStream可以读取字节流,而Reader可以读取字符流。以下是一个读取文本文件的例子:

try {
    File file = new File("example.txt");
    FileInputStream fis = new FileInputStream(file);
    InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
    BufferedReader br = new BufferedReader(isr);

    String line;
    while((line = br.readLine()) != null){
        System.out.println(line);
    }

    br.close();
    isr.close();
    fis.close();
} catch (IOException e) {
    e.printStackTrace();
}

这里我们先创建一个File对象,指定了要读取的文件的路径。然后创建一个FileInputStream对象,并将File对象作为参数传入,用于读取文件的字节流。为了支持UTF-8编码的文件,我们创建了一个InputStreamReader对象,并指定了编码方式。然后创建了一个BufferedReader对象,用于读取缓存中的字符流。使用while循环读取每一行内容,并输出到控制台。最后要记得关闭流。

对于文件写操作,可以使用OutputStream和Writer进行写操作。和读操作类似,OutputStream可以写出字节流,而Writer可以写出字符流。以下是一个写出文本文件的例子:

try {
    File file = new File("example.txt");
    FileOutputStream fos = new FileOutputStream(file);
    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
    BufferedWriter bw = new BufferedWriter(osw);

    bw.write("Hello, World!");
    bw.newLine();
    bw.write("你好,世界!");

    bw.close();
    osw.close();
    fos.close();
} catch (IOException e) {
    e.printStackTrace();
}

这里我们先创建一个File对象,指定了要写出的文件的路径。然后创建一个FileOutputStream对象,并将File对象作为参数传入,用于写出文件的字节流。为了支持UTF-8编码的文件,我们创建了一个OutputStreamWriter对象,并指定了编码方式。然后创建了一个BufferedWriter对象,用于写出缓存中的字符流。使用write写出要写入的内容,并使用newLine换行。最后要记得关闭流。

需要注意的是,在使用IO函数进行文件读写时,都要记得关闭流,否则可能会导致资源泄露的问题。推荐使用try-with-resource语句自动关闭流,避免手动关闭流时发生错误。