如何使用Java内置的IO函数进行文件读写
在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语句自动关闭流,避免手动关闭流时发生错误。
