Java文件操作详解:读取、复制与写入

需积分: 44 10 下载量 174 浏览量 更新于2024-09-08 收藏 17KB DOCX 举报
"Java文件读写操作的总结,包括获取控制台用户输入、复制文件以及写文件的方法。" 在Java编程中,文件读写是常见的操作,以下是对这些操作的详细说明: 一、获取控制台用户输入的信息 通过`System.in.read()`方法,我们可以获取控制台用户的输入。在示例代码中,程序会读取用户输入的字符直到遇到结束符,然后将这些字符转换成字符串返回。但是,这个方法并不支持中文输入,因为在读取时可能会出现乱码问题。为了支持中文输入,通常需要使用`BufferedReader`和`InputStreamReader`,并指定正确的字符编码,如`new BufferedReader(new InputStreamReader(System.in, "UTF-8"))`。 二、复制文件 文件复制通常通过文件流实现,示例代码中提供了使用`FileInputStream`和`FileOutputStream`进行复制的方法。这种方法可以处理包含中文的文件,并且可以复制各种类型的文件,例如文本、图片、文档等。通过不断地读取源文件的字节并写入目标文件,直到读取到文件末尾(表示读取的字节数为-1)。注意在读写文件后,需要关闭流以释放系统资源。 三、写文件 1. 利用`PrintStream`写文件:`PrintStream`是一个方便的类,它可以将文本数据写入到输出流。在示例中,创建一个`PrintStream`对象,然后调用`println`方法将多行文本写入到指定的文件。`PrintStream`的优点在于它会自动处理异常,如文件未找到,使得代码更简洁。 2. 利用`FileWriter`或`BufferedWriter`写文件:如果需要更精确的控制文件写入,可以使用`FileWriter`或者`BufferedWriter`。这两个类允许我们逐行或逐字符写入,并且可以设置是否自动换行。例如: ```java try (FileWriter writer = new FileWriter("D:/test.txt"); BufferedWriter bufferedWriter = new BufferedWriter(writer)) { for (int i = 0; i < 10; i++) { bufferedWriter.write("This is " + i + " line\n"); } } catch (IOException e) { e.printStackTrace(); } ``` 这段代码会将同样的内容写入到文件,但使用了`BufferedWriter`以提高性能,因为它可以批量写入。 Java提供了一系列的类和方法来处理文件读写操作,开发者可以根据具体需求选择合适的方法。在实际开发中,为了确保代码的健壮性,应当处理可能出现的异常,并且注意文件操作后的资源释放。