Java函数应用:文件读写操作
文件读写是Java编程中最基本的操作之一。Java提供了很多读写文件的方法,主要有输入流和输出流,从输入流读取数据,从输出流写入数据。在本文中,我们将学习Java中文件读写的基本知识,以及如何通过Java程序读写文件。
Java中文件读写基本知识
在Java中,文件读写主要涉及到两个类,分别是FileInputStream和FileOutputStream。FileInputStream主要负责从文件中读取数据,而FileOutputStream主要负责向文件中写入数据。
文件读取示例代码:
import java.io.*;
public class FileRead {
public static void main(String[] args) {
try {
FileInputStream inputFile = new FileInputStream("input.txt");
int ch;
while ((ch = inputFile.read()) != -1) {
System.out.print((char)ch);
}
inputFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在这份代码中,我们使用FileInputStream打开文件“input.txt”,并通过while循环来读取文件中的数据。当读取完文件中所有数据时,FileInputStream将返回-1,循环结束。我们使用System.out.print()将读取到的数据输出到控制台中。
文件写入示例代码:
import java.io.*;
public class FileWrite {
public static void main(String[] args) {
try {
FileOutputStream outputFile = new FileOutputStream("output.txt");
String data = "Hello world!";
byte[] bytes = data.getBytes();
outputFile.write(bytes);
outputFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在这份代码中,我们使用FileOutputStream打开文件“output.txt”,并将数据“Hello world!”写入到该文件中。我们使用getBytes()方法将字符串转换为字节数组,然后通过write()方法将字节数组写入到文件中。最后,我们调用close()方法关闭文件输出流。
Java文件读写范例:
假设我们有一个存储学生信息的文件student.txt,每一行代表一名学生的信息,格式如下:
张三,18,男
李四,17,女
王五,20,男
现在,我们要处理这个文件,计算出学生的平均年龄,并将结果写入到文件result.txt中。
处理过程如下:
import java.io.*;
public class FileDemo {
public static void main(String[] args) {
try {
FileInputStream inputFile = new FileInputStream("student.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputFile));
String line;
int sum = 0, count = 0;
while ((line = reader.readLine()) != null) {
String[] fields = line.split(",");
int age = Integer.parseInt(fields[1]);
sum += age;
count++;
}
inputFile.close();
double averageAge = count == 0 ? 0 : sum / count;
FileOutputStream outputFile = new FileOutputStream("result.txt");
String result = "学生平均年龄:" + averageAge;
byte[] bytes = result.getBytes();
outputFile.write(bytes);
outputFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在这份代码中,我们使用FileInputStream打开文件“student.txt”,并使用BufferedReader读取文件中的数据。我们使用while循环来读取每一行数据,并使用split()方法将每一行数据按“,”分割成数组,然后取出第二个元素(即年龄),累加到sum变量中。计算出所有学生的年龄之和后,我们再将其除以学生数量,计算出平均年龄。
接着,我们使用FileOutputStream打开文件“result.txt”,并将计算出的平均年龄转换为字符串,写入到该文件中。最后,我们调用close()方法关闭文件输出流。
总结
文件读写是Java编程中的基础知识之一。Java提供了FileInputStream和FileOutputStream等类,可以很方便地实现文件读写操作。在进行文件读写操作时,我们需要注意异常的处理,以避免程序出现意外的错误。通过学习本文,相信大家已经掌握了Java中文件读写的基础知识和应用方法。
