使用Scanner类实现Java文件的逐行读取和写入
在Java程序中,我们经常需要读取和写入文件,而逐行读取和写入文件是其中常见的需求之一。在处理大型文件时,逐行读取和写入可以提高程序的效率,避免内存溢出的问题。在本文中,我们将会介绍如何使用Java中的Scanner类来实现文件的逐行读取和写入操作,并提供具体的代码示例。
首先,我们需要创建一个文本文件来测试这个功能。在你的工程中创建一个名为"test.txt"的文本文件,文件中包含几行文字内容。
接下来,我们需要使用Java的Scanner类来逐行读取文件内容。下面是读取文件的代码示例:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileExample {
public static void main(String[] args) {
// 指定文件路径
File file = new File("test.txt");
try {
// 使用Scanner类读取文件
Scanner scanner = new Scanner(file);
// 逐行读取文件内容
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
// 关闭Scanner对象
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
登录后复制
上述代码首先创建了一个File对象,指定了要读取的文件路径。接着使用Scanner类读取这个文件,并通过while循环逐行读取文件内容。最后关闭Scanner对象,释放资源。
我们也可以使用Scanner类实现文件逐行写入操作。下面是写入文件的代码示例:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class WriteFileExample {
public static void main(String[] args) {
// 指定文件路径
File file = new File("output.txt");
try {
// 创建FileWriter对象
FileWriter writer = new FileWriter(file);
// 使用Scanner类读取用户输入
Scanner scanner = new Scanner(System.in);
// 逐行写入文件
System.out.println("请输入要写入文件的内容:");
String line = scanner.nextLine();
while (!line.equals("exit")) {
writer.write(line + "
");
line = scanner.nextLine();
}
// 关闭FileWriter和Scanner对象
writer.close();
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
登录后复制
上述代码首先创建了一个名为"output.txt"的文件,用于存放写入的内容。接着创建了一个FileWriter对象,用于将数据写入文件。然后使用Scanner类读取用户输入,并通过while循环逐行写入文件。当用户输入"exit"时,循环结束。最后关闭FileWriter和Scanner对象。
以上就是使用Scanner类实现Java文件的逐行读取和写入的示例代码。通过这些示例代码,你可以快速开始使用Scanner类来处理文件的读取和写入,并根据实际需求进行适当的调整和扩展。希望本文对您有所帮助!
以上就是使用Scanner类实现Java文件的逐行读写操作的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!