提示信息

Java字符流的使用

配角 已关注

Java字符流主要用于处理字符数据,包括读取字符数据、写入字符数据和操作字符数据。常见的字符流类有FileReader、FileWriter、BufferedReader和BufferedWriter。

  1. FileReader和FileWriter:
    FileReader类用于读取字符数据,可以从文件中读取字符内容。使用FileReader需要先创建一个File对象,然后传入File对象的路径作为参数创建FileReader对象。接下来,通过调用FileReader对象的read()方法可以读取一个字符,或者通过调用read(char[] cbuf)方法读取一组字符。最后,要关闭FileReader对象。

FileWriter类用于写入字符数据,可以将字符内容写入到文件中。使用FileWriter需要先创建一个File对象,然后传入File对象的路径作为参数创建FileWriter对象。接下来,通过调用FileWriter对象的write()方法可以写入一个字符,或者通过调用write(char[] cbuf)方法写入一组字符。最后,要关闭FileWriter对象。

示例代码如下:

  1. // 读取字符数据
  2. File file = new File("example.txt");
  3. FileReader reader = new FileReader(file);
  4. int data = reader.read();
  5. while (data != -1) {
  6. System.out.print((char) data);
  7. data = reader.read();
  8. }
  9. reader.close();
  10. // 写入字符数据
  11. File file = new File("example.txt");
  12. FileWriter writer = new FileWriter(file);
  13. writer.write("Hello, world!");
  14. writer.close();
  1. BufferedReader和BufferedWriter:
    BufferedReader类是字符缓冲输入流,用于提供高效的字符输入流读取功能。使用BufferedReader需要先创建一个FileReader对象,然后将FileReader对象作为参数创建BufferedReader对象。接下来,通过调用BufferedReader对象的readLine()方法可以一次读取一行字符数据。最后,要关闭BufferedReader对象。

BufferedWriter类是字符缓冲输出流,用于提供高效的字符输出流写入功能。使用BufferedWriter需要先创建一个FileWriter对象,然后将FileWriter对象作为参数创建BufferedWriter对象。接下来,通过调用BufferedWriter对象的write()方法可以写入字符数据。最后,要关闭BufferedWriter对象。

示例代码如下:

  1. // 读取一行字符数据
  2. File file = new File("example.txt");
  3. FileReader reader = new FileReader(file);
  4. BufferedReader bufferedReader = new BufferedReader(reader);
  5. String line = bufferedReader.readLine();
  6. while (line != null) {
  7. System.out.println(line);
  8. line = bufferedReader.readLine();
  9. }
  10. bufferedReader.close();
  11. // 写入字符数据
  12. File file = new File("example.txt");
  13. FileWriter writer = new FileWriter(file);
  14. BufferedWriter bufferedWriter = new BufferedWriter(writer);
  15. bufferedWriter.write("Hello, world!");
  16. bufferedWriter.newLine(); // 换行
  17. bufferedWriter.write("Java字符流的使用");
  18. bufferedWriter.close();
    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
配角 关注 已关注

最近一次登录:2023-10-09 13:14:40   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图