📜  Java IO-FileWriter类(1)

📅  最后修改于: 2023-12-03 15:15:56.327000             🧑  作者: Mango

Java IO-FileWriter类

Java IO-FileWriter类是Java中用于写入字符流的类。该类继承了Writer类,因此提供了一些方便的写入字符串的方法。FileWriter类可以用于写入文本文件、日志文件等。

构造方法

FileWriter类有多个构造方法,可以指定要写入的文件、字符编码等。下面是FileWriter类的常用构造方法:

public FileWriter(String fileName) throws IOException
public FileWriter(String fileName, boolean append) throws IOException
public FileWriter(File file) throws IOException
public FileWriter(File file, boolean append) throws IOException
public FileWriter(FileDescriptor fd)
  • 第一个构造函数根据文件名创建FileWriter对象,如果文件不存在,会创建一个新的文件。
  • 第二个构造函数同样根据文件名创建FileWriter对象,但是可以指定是否追加内容。如果不追加,则每次写入都会覆盖原有的内容。
  • 第三个构造函数根据文件对象创建FileWriter对象。
  • 第四个构造函数同样根据文件对象创建FileWriter对象,但是可以指定是否追加内容。
  • 第五个构造函数根据文件描述符创建FileWriter对象。
写入字符串

FileWriter类提供了多个写入字符串的方法,如下所示:

public void write(String str) throws IOException
public void write(String str, int off, int len) throws IOException
public void write(char[] cbuf) throws IOException
public void write(char[] cbuf, int off, int len) throws IOException
public void write(int c) throws IOException
  • 第一个方法将字符串写入文件。
  • 第二个方法允许指定要写入的字符串的起始位置和长度。
  • 第三个方法将字符数组写入文件。
  • 第四个方法允许指定要写入的字符数组的起始位置和长度。
  • 第五个方法将单个字符写入文件。
关闭FileWriter

使用完FileWriter后,需要调用close()方法来关闭文件。如果不关闭,则可能会导致文件内容丢失或出现其他问题。

下面是一个使用FileWriter的示例:

import java.io.*;

public class TestFileWriter {
    public static void main(String[] args) {
        FileWriter writer = null;
        try {
            File file = new File("output.txt");
            writer = new FileWriter(file);
            writer.write("Hello, FileWriter!");
            writer.write(System.lineSeparator());
            writer.write("This is a test.");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (writer != null) {
                    writer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

上述代码创建了一个名为output.txt的文件,并向其中写入两行字符串。第二行字符串使用System.lineSeparator()方法获取系统换行符。最后使用close()方法关闭文件。

总结

Java IO-FileWriter类是一个常用的文件写入类,在编写Java程序时经常会使用到。在使用FileWriter时,需要注意文件的关闭,以避免出现问题。