Java学习 IO FileWriter类

字节流的两个顶层父类:

    1,InputStream    2,OutputStream

字符流的两个顶层父类:

    1,Reader        2,Writer


需求::将一些文字存储到硬盘中一个文件中:

如果要操作文字数据优先考虑字符流 要将数据存储到硬盘上 需要字符流中的输出流

创建一个可以往文件中写入字符数据的字符输出流对象

既然是往一个文件中写入文字数据 那么在创建对象时,就必须明确该文件(用于存储数据的目的地)

如果文件不存在 就重新创建

如果文件存在 就会被覆盖

调用Writer对象中的writer(string)方法,写入数据

其实数据写入到临时存储缓冲区中       可以使用flush将缓冲区的数据刷新出来 

关闭文件时使用close 也会调用flush函数

另外当文件被close之后再对流进行读写或者关闭都是非法的 

                           

public class FileDemo {

	public static void main(String[] args) throws IOException {
		// TODO 自动生成的方法存根
		FileWriter fw = new FileWriter("1.txt");
		fw.write("this is java\r\n io application");    //对字符串进行换行操作在Windows中需要两个转义字符 \r\n
		
		fw.flush();
		fw.close();
	}

}

但这个程序在其他操作系统就不一定可以执行成功了 因为每个系统的换行符不一定一致

我们可以获取当前系统的换行符

	private static final String FILE_SEPATATOR = System.getProperty("line.separator");//获取系统的换行符

	public static void main(String[] args) throws IOException {

		FileWriter fw = new FileWriter("1.txt");
		fw.write("this is java"+FILE_SEPATATOR+"io application");    
		
		fw.append("okokokokok");            //使用append进行对文件的续写
		fw.flush();
		fw.close();
	}

}



猜你喜欢

转载自blog.csdn.net/goddreamyyh/article/details/80851589