Java FileWriter示例

时间:2020-02-23 14:35:01  来源:igfitidea点击:

java.io包的文件类类使Java中的文件写入java中的文件,就像a-b-c一样简单。
文件级写入文件作为字符流而不是字节流(如fileoutputStream中)。
与其输入导向的对应部分Filereader一样,文件类旨在一次写入"文本"的文件一个字符。

让我们查看FileWriter如何在Java中工作。

构造函数

Java中的文件类包含五个参数化构造函数,以允许程序员操作或者写入文件。
基于写入方式,可以覆盖或者添加文件。
让我们查看文件类中定义的构造函数。

  • 文件符(文件文件) - 此构造函数接受java.io.file对象作为参数,并打开文件以进行编写。默认情况下,这会覆盖文件的任何先前内容。
  • FileWriter(filedescriptor描述符) - 此构造函数创建文件符的对象,该对象接受java.io.filedescriptor对象作为参数,并打开描述符对象引用的文件。默认情况下,它会覆盖以前的内容。
  • 文件夹(String FilePath) - 此构造函数接受java.lang.String对象作为参数,并打开字符串中包含的路径或者URI引用的文件,并覆盖文件中的任何现有内容。
  • 文件符(文件文件,boolean ampend) - 此构造函数打开java.io.file和boolean值作为参数。如果布尔值为true,则不会覆盖现有内容,并附上新内容
  • 文件夹(String FilePath,Boolean Append) - 此构造函数将打开"java.lang.string"和"布尔值"作为参数。如果布尔值为true,则不会覆盖现有内容,并附上新内容。

在最后两种情况下,如果输入的布尔值为"false",则覆盖内容。

如果找不到或者无法打开文件,则抛出FileNotFoundException。

方法

FileWriter类包含允许程序员将字符/文本写入文件的方法。
文件对象一次写入文件一个字符的内容。

让我们查看我们使用的方法来使用文件夹编写。

  • 公共空白写入(int charval) - 此方法将单个字符(基于输入的ASCII值)写入文件。
  • 公共void write(char arr [],int offset,int l) - 此方法将字符数组中的字符从偏移位置写入,以便为字符的长度为"l"。
  • public void write(string str,int offset,int l) - 此方法将字符串对象的字符从偏移位置写入一个字符的长度为"L"。
  • public void flush() - 刷新当前文件夹对象。
  • public void close() - 关闭文件机对象以防止任何资源泄漏。

例子

让我们看一下用文件机类写入文件的示例。

代码:

import java.io.FileReader;
import java.io.FileWriter;
 
public class TestFileWriter {
 
	public static void main(String args[]){
 
		String filePath = "C:/Users/Me/Desktop/sample.txt";
 
		try{
 
			FileWriter writeNew = new FileWriter(filePath);
			writeNew.write("Hello. I'm writing this new. ");
			writeNew.close();
			System.out.println("New Write Complete. File Reads: \t");
			
			readFileNow(filePath);
			
			FileWriter appendOld = new FileWriter(filePath,true);
			appendOld.write("Append works too");
			appendOld.close();
			
			System.out.println("Append Complete. File Reads: \t");
			
			readFileNow(filePath);
		}catch(Exception e){
			e.printStackTrace();
		}
 
	}
 
 
	public static void readFileNow(String filePath){
 
		try{
			FileReader fileReader = new FileReader(filePath);
			int charRead = 0;
			while(charRead != -1){
				charRead = fileReader.read();
				System.out.print((char)charRead);
			}
			fileReader.close();
 
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}

输出:

New Write Complete. File Reads:Hello. I'm writing this new.
Append Complete. File Reads
Hello. I'm writing this new. Append works too