Java中如何使用函数实现文件的读写操作
Java是一种流行的编程语言,它提供了一种方便的方法对文件进行读写操作。若要使用Java来进行文件读写操作,我们通常需要使用File,FileInputStream,FileOutputStream和BufferedReader和BufferedWriter等Java类。
对文件的读操作
在Java中,我们通常使用FileInputStream或BufferedReader来进行文件读操作。如果要读取文本文件,我们可以使用以下代码:
try {
File file = new File("filename.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
在上述代码中,我们使用了File和BufferedReader类对象。我们用FileReader类来读取文本文件,该类是Reader类的子类。而BufferedReader类包装了FileReader类对象,使用BufferedReader可以一行一行地读取文本文件,直到读取到文件的末尾(即line为null)。
然而,如果我们需要读取二进制文件,则应该使用FileInputStream类对象进行读操作,如下所示:
try {
File file = new File("filename.bin");
FileInputStream fis = new FileInputStream(file);
int b;
while ((b = fis.read()) != -1) {
System.out.print(b + " ");
}
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
在上述代码中,我们使用了FileInputStream类对象。与BufferedReader.readLine()方法不同,FileInputStream.read()方法只读取一个字节。
对文件的写操作
在Java中,我们通常使用FileOutputStream或BufferedWriter来进行文件写操作。如果要写入文本文件,我们可以使用以下代码:
try {
String str = "Hello, world!";
File file = new File("filename.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(str);
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
在上述代码中,我们使用了File和BufferedWriter类对象。与BufferedReader.readLine()方法类似,BufferedWriter.write()方法可以写一行一行的文本数据到文件中,直到写入文件的末尾。值得注意的是,在写文件时,我们必须使用FileWriter类对象来写入文本文件,该类是Writer类的子类。
如果我们需要写入二进制文件,则应该使用FileOutputStream类对象进行写操作,如下所示:
try {
byte[] b = {65, 66, 67, 68};
File file = new File("filename.bin");
FileOutputStream fos = new FileOutputStream(file);
fos.write(b);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
在上述代码中,我们使用了FileOutputStream类对象。与FileInputStream.read()方法不同,FileOutputStream.write()方法可以写入多个字节。
结论
Java提供了多种方法对文件进行读写操作,我们可以根据需要,使用File、FileInputStream、FileOutputStream和BufferedReader和BufferedWriter等Java类来实现文件读写操作。无论是读取文本文件还是二进制文件,还是写入文本文件或二进制文件,Java都提供了相应的方法来进行文件操作,开发者只需根据需求选取合适的方法即可。
