关于字符流操作文件以及实现后续文件的追加

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/loveliness_peri/article/details/80109506

字符流与字节流一样,也有两个抽象的顶级父类,分别是Reader和Writer。其中Reader是字符输入流,用于从某个源设备读取字符,Writer是字符输出流,用于向某个目标设备写入字符。


在程序开发中,经常要对文本文件的内容进行读取,如果想从文件中直接读取字符便可以使用字符输入流FileReader,通过此流可以从关联的文件中读取一个或者是一组字符。接下来为大家举个例子。现在当前目录下新建文件“reader.txt”并在其中输入字符“hello world”,然后通过FileReader读取文件中的字符。

import java.io.IOException;

public class Test01 {

	public static void main(String[] args) throws IOException {
		FileReader reader=new FileReader("F:\\hw.txt");
		int ch=reader.read();//字符输入流的read()方法返回的是int类型的值
		while(ch!=-1){
			
			System.out.println((char)ch);//如果想获得字符就需要使用强制类型转换
			ch=reader.read();
		}
		reader.close();

	}

}

执行结果为:

首先创建了一个FileReader对象与文件关联,然后通过while循环每次从文件中读取一个字符并打印,这样就实现了我们的目的:FileReader读取字符的操作。(这里也要注意一下ch=reader.read()所放置的位置)。那么如果要向文件中写入字符就需要使用FileWriter类。那就再来一个栗子吧!

import java.io.FileWriter;
import java.io.IOException;

public class Test02 {

	public static void main(String[] args) throws IOException {
		FileWriter writer =new FileWriter("F:\\pp.txt");
		String str="努力学习吧!";
		writer.write(str);
		writer.close();

	}

}

运行成功后的结果:

这里面的“F:\\pp.txt”不是我手动新建的,是你指定好了路径与文件名,写入的时候就自动生成的文件。FileWriter与FileOutputStream一样,如果指定的文件不存在,就会先创建文件,再写入数据,如果文件存在,则会首先清空文件中的内容,再进行写入。

如果想在文件末尾进行内容的追加,同样需要调用重载的构造方法。这样就可以了:

import java.io.FileWriter;
import java.io.IOException;

public class Test02 {

	public static void main(String[] args) throws IOException {
		FileWriter writer =new FileWriter("F:\\pp.txt",true);
		String str="人丑就要多读书!";
		writer.write(str);
		writer.close();

	}

}

结果图:



展开阅读全文

文件字符流

03-28

<p>rn <span>本课程从零开始,以通俗易懂的方式讲解Java技术,手把手教你掌握每一个知识点。</span> rn</p>rn<p>rn <span><span><span></span>真正做到零基础入门学习,</span><span style="color:#FF0000;">适合初学者的教程!</span></span> rn</p>rn<p>rn <span style="color:#FF0000;"><br />rn</span> rn</p>rn<p>rn <span>课程内容包括:</span> rn</p>rn<p>rn 1.File类rn</p>rn<p>rn 2.IO流简介rn</p>rn<p>rn <span>3.流的分类</span> rn</p>rn<p>rn <span>&nbsp;&nbsp;&nbsp;&nbsp;输入流、输出流<br />rn</span> rn</p>rn<p>rn <span>&nbsp;&nbsp;&nbsp;&nbsp;字节流、字符流<br />rn</span> rn</p>rn<p>rn <span>&nbsp;&nbsp;&nbsp;&nbsp;节点流、包装流<br />rn</span> rn</p>rn<p>rn <span>4.字节流</span> rn</p>rn<p>rn <span>&nbsp;&nbsp;&nbsp;&nbsp;InputStream:</span><span>FileInputStream、</span><span>ByteArrayInputStream、</span><span>ObjectInputStream</span> rn</p>rn<p>rn &nbsp;&nbsp;&nbsp;&nbsp;OutputStream:<span>FileOutputStream、</span><span>ByteArrayOutputStream、</span><span>ObjectOutputStream</span> rn</p>rn<p>rn <span>5.字符流</span> rn</p>rn<p>rn <span>&nbsp;&nbsp;&nbsp;&nbsp;Reader:</span><span>FileReader、</span><span>BufferedReader、</span><span>InputStreamReader</span> rn</p>rn<p>rn <span>&nbsp;&nbsp;&nbsp;&nbsp;Writer:</span><span>FileWriter、</span><span>BufferedWriter / PrintWriter、</span><span>OutputStreamWriter</span> rn</p>rn<p>rn <span>6.随机读写流</span> rn</p>rn<p>rn <span>&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessFile<br />rn</span> rn</p>rn<p>rn <span>&nbsp; &nbsp;</span> rn</p>rn<p>rn <br />rn</p>rn<p>rn <span><strong><span style="color:#FF0000;">教学全程采用笔记+代码案例的形式讲解,通俗易懂</span></strong><strong><span style="color:#FF0000;">!!!</span></strong></span> rn</p>

没有更多推荐了,返回首页