Java FileWriter详解

后端 潘老师 6个月前 (10-23) 129 ℃ (0) 扫码查看

Java FileWriter类用于将文本写入字符型文件,它使用默认的缓冲区大小进行写入。如果未提供其他编码,它将使用平台默认的字符编码。

FileWriter通常由更高级的Writer类型(如BufferedWriter或PrintWriter)包装。FileWriter提供更好的性能和更高级、更灵活的方法来写入内容。

1.Java FileWriter类

  • FileWriter用于向字符型文件写入数据。如果不想使用平台默认的字符集,请传递所需的字符集。
  • FileWriter是java.io包的一部分。
  • FileWriter扩展了抽象类Writer。
  • FileWriter实现了Closeable、AutoCloseable、Flushable和Appendable接口。
  • FileWriter提供了写入新文件和向现有文件追加数据的方法。
  • 如果尝试打开已经打开的文件,则FileWriter类的构造函数将失败。

2.创建FileWriter

要创建FileWriter,请使用其中一个构造函数。所有构造函数都需要至少一个文件名或File对象,该对象引用我们要写入文本的文件。

设置Charset信息是可选的。如果未提供,将使用系统的默认字符集。

String fileName = "dataOut.txt";
File file = new File(fileName);
 
// 使用文件名
FileWriter fw1 = new FileWriter(fileName);
 
// 使用File 对象
FileWriter fw2 = new FileWriter(file);

3. 设置字符编码

如果我们想以不同的编码写入字符,请将Charset信息传递给FileWriter的构造函数。

String fileName = "dataOut.txt";
File file = new File(fileName);
 
FileWriter fw = new FileWriter(file, Charset.forName("UTF8"));

4. 关闭FileWriter

当我们完成写入文件后,请调用fileWriter.close()方法。或者我们可以使用该类的自动关闭功能。

在给定的示例中,try-with-resources功能将在try块完全执行时自动关闭FileWriter。

String fileName = "dataOut.txt";
 
try (FileWriter fw 
    = new FileWriter(new File(fileName))) {
 
  //Perform operations
}

5.Java FileWriter 示例

让我们通过几个示例来看看如何使用Java中的FileWriter进行文件写入操作。在每个示例中,我们将向名为”dataOut.txt”的文件写入内容”humpty dumpty”。

示例1:创建新文件并使用FileWriter进行写入

在这个示例中,我们打开了一个新文件以便写入内容。程序执行后,将创建一个名为”dataOut.txt”的新文件,并将”humpty dumpty”写入该文件。

public class FileWriterExample 
{
  public static void main(String[] args) 
              throws IOException 
  {
    String fileName = "dataOut.txt";
 
    try (FileWriter fw 
        = new FileWriter(new File(fileName))) {
 
      fw.write("humpty dumpty");
    }
  }
}

输出:

humpty dumpty

示例2:使用FileWriter附加到现有文件

要附加到现有文件,将值true传递给FileWriter的构造函数以打开文件附加模式。一旦文件以附加模式打开,就可以使用各种附加方法将文本附加到文件中现有的内容。

public class FileWriterExample 
{
  public static void main(String[] args) 
              throws IOException 
  {
    String fileName = "dataOut.txt";
   
    try (FileWriter fw 
        = new FileWriter(new File(fileName), true)) {
 
      fw.append(" sat on a wall");
    }
  }
}

输出:

humpty dumpty sat on a wall

 


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10238.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】