字符输出流(Character Output Stream)是用于将字符数据写入到目标输出源(如文件、网络连接等)的流对象。在 Java 中,主要使用 java.io.Writer
及其子类来实现字符输出流的操作。
write()
方法是字符输出流中用于写入字符数据的核心方法。它有多个重载形式,可以接受不同类型的参数进行写入操作。
写入单个字符
import java.io.FileWriter; import java.io.IOException; try (FileWriter writer = new FileWriter("output.txt")) { char ch = 'A'; writer.write(ch); } catch (IOException e) { e.printStackTrace(); }
写入字符数组
import java.io.FileWriter; import java.io.IOException; try (FileWriter writer = new FileWriter("output.txt")) { char[] chars = {'H', 'e', 'l', 'l', 'o'}; writer.write(chars); } catch (IOException e) { e.printStackTrace(); }
写入指定范围的字符数组
import java.io.FileWriter; import java.io.IOException; try (FileWriter writer = new FileWriter("output.txt")) { char[] chars = {'H', 'e', 'l', 'l', 'o'}; int offset = 1; // 起始位置 int length = 3; // 写入长度 writer.write(chars, offset, length); // 写入 "ell" } catch (IOException e) { e.printStackTrace(); }
写入字符串
import java.io.FileWriter; import java.io.IOException; try (FileWriter writer = new FileWriter("output.txt")) { String str = "Hello, World!"; writer.write(str); } catch (IOException e) { e.printStackTrace(); }
在使用 write()
方法时,需要注意以下几点:
write()
方法是按字符写入的,即使传入的参数是字节数组或字符串,也会将其按字符处理。write()
方法会阻塞直到数据被实际写入到输出源中,因此需要进行适当的异常处理。- 在使用字符输出流时,要记得关闭流资源,可以使用 try-with-resources 语句来自动关闭流。