Java中的文件读写操作:如何打开、读取和写入文件
Java提供了许多API来进行文件读写操作。本文将介绍如何打开、读取和写入文件。
文件打开
在Java中,可以使用File对象来表示文件。通过指定文件路径和文件名创建File对象,然后使用该对象打开文件。
例如:
File file = new File("E:\\test.txt");
if(!file.exists()){
file.createNewFile();
}
FileReader fileReader = new FileReader(file);
上述代码指定了一个名为test.txt的文件在E盘根目录下,如果文件不存在,则创建该文件,然后使用FileReader对象打开该文件。
文件读取
有三种方式可以从打开的文件中读取数据:
方式一:逐字符读取
可以使用Java的Reader对象来逐个字符地读取文件。如下所示:
int data = fileReader.read();
while(data != -1){
char dataChar = (char)data;
System.out.print(dataChar);
data = fileReader.read();
}
fileReader.close();
上述代码逐个字符地读取文件内容,并将其打印在控制台上。在读取每个字符时,需要将int类型的数据转换为char类型。
方式二:逐行读取
可以使用Java的BufferedReader对象逐行读取文件。如下所示:
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line = null;
while((line = bufferedReader.readLine()) != null){
System.out.println(line);
}
bufferedReader.close();
上述代码使用BufferedReader对象逐行读取文件内容,并将每行内容打印在控制台上。
方式三:一次性读取
可以使用Java的FileInputStream对象一次性读取文件所有内容。如下所示:
FileInputStream fileInputStream = new FileInputStream(file);
byte[] bytes = new byte[(int)file.length()];
fileInputStream.read(bytes);
String content = new String(bytes);
System.out.println(content);
fileInputStream.close();
上述代码使用FileInputStream对象一次性读取文件内容,并将其转换为字符串类型并打印在控制台上。
文件写入
有两种方式可以向文件中写入数据:
方式一:逐个字符写入
可以使用Java的Writer对象逐个字符地向文件中写入数据。如下所示:
FileWriter fileWriter = new FileWriter(file);
fileWriter.write('H');
fileWriter.write('e');
fileWriter.write('l');
fileWriter.write('l');
fileWriter.write('o');
fileWriter.write(' ');
fileWriter.write('J');
fileWriter.write('a');
fileWriter.write('v');
fileWriter.write('a');
fileWriter.close();
上述代码逐个字符地向文件中写入数据。
方式二:一次性写入
可以使用Java的FileOutputStream对象一次性向文件中写入数据。如下所示:
String content = "Hello Java";
byte[] bytes = content.getBytes();
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(bytes);
fileOutputStream.close();
上述代码将字符串转换为字节数组,并使用FileOutputStream对象一次性向文件中写入数据。
总结
本文介绍了Java中文件的打开、读取和写入操作。使用File对象打开文件,使用Reader和BufferedReader对象逐行或逐个字符地读取文件,使用Writer对象或FileOutputStream对象向文件中写入数据。在进行文件读写操作时,需要注意文件路径和文件名是否正确。
