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

Java中的文件读写操作:如何打开、读取和写入文件

发布时间:2023-06-24 12:32:08

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对象向文件中写入数据。在进行文件读写操作时,需要注意文件路径和文件名是否正确。