可以将数据写入纯文本当中,没有便创建,一般是覆盖写入,有五个构造方法,
import java.io.FileWriter; CTRL+SHIFT+O 便捷键导入;
文件扩展名只能决定用什么软件打开文件(打开方式),不能决定其内容 总结一下:FileWriter基本使用步骤:创,写,关。 关闭的写法是fw.close();
一般FileWrite写入是覆盖写入,若想使用追加写入,便使用下面方法
public FileWriter(String filename, boolean append);//若布尔值是true,便追加写入换行也是一种字符,叫换行符: windows当中的换行符是 “\r\n” 这叫做两个字符"\r"和"\n" macOS当中的换行符是早期是"\r",现在是"\n" liunx当中的换行符是 “\n”
所有的数据都是数字,文本的规则是ASCII码和Unicode表;48是0;65是A;97是A;
【FileWrite方法的重载】
public void write(int ch);参数是单个文字对应的数字(参考ASCII码和Unicode表); public void write(String str);写一个完整的字符串; public void write(String str, int offset, int count);写字符串的一部分内容; public void write(char[] array)写一个完整的字符数组; public void write(char[] array, int offset, int count);写字符数组中的一部分; //注释:offset是想要字符的开始索引,count是想要几个字符;BufferedWriter是FileWriter的升级版
两者差不多,也是一种用来写文件的类,属于字符输出! 最大区别BufferedWriter肚子里有一个8192个char[]字符数组,当中缓冲区使用; 每次在写数据的时候,实际上都是在不断地向缓存数组当中添加字符。 如果缓冲数组满了那么将会统一的写到硬盘的文件当中; 如果还未写满,那么就等待下一次写入; 如果最终关闭时,数组仍然未满,那么也会将剩余的有效部分写到硬盘文件。
如何使用BufferedWriter?
A.首先创建一个普通的FileWriter; B.将这个普通的FileWriter包装成为缓冲的BufferedWriter,用构造方法就行; C.后面BufferedWriter使用方法heFileWriter方法差不多; D.构造方法:public BufferedWriter(FileWriter fw);参数就是一个普通的FileWriter对象;BufferedWriter与File的方法区别
A.BufferedWriter额外提供了一个换行的方法; B.public void newLine(); 将会自动根据系统来打换行符;以便兼容所有系统; C.调用方法:bw.newLine();不需要参数;【注意事项】
1.本方法会有异常抛出,可能是因为系统权限不足,内存不足...现阶段不处理异常, 在mian方法参数后面加入throws IOException,表示不处理异常; 2.千万不能忘记最后调用close方法; 3.FileWriter是类。write是方法; 4.使用BUfferedWriter时,要记得关闭流时关闭的是BufferedWriter的流;FileReader用来将文本文件里的字符读取到程序当中。 使用的步骤:
导包 import java.io.FileReader;
创建,构造方法
public FileReader(String filename);参数仍是文件的路径名。 FileReader fr = new fileReader("filename.txt"); 如果指定的文件名对应的文件不存在,那么会报错。使用,成员方法 读取单个字符,public int read();读取下一个字符,得到对应的ASCII码或Unicode值。 返回值是一个int值,是ASCII码或Unicode表; 关闭释放资源:public void close();
使用FileReader的步骤也是三个字:创,建,关。
为了提高速率,FileReader提供了另外一种重载形式的read方法; public int read(char[] buf); 一次读取整个字符串的数据。 参数是一个字符数组,用来承载读取到的多个字符。 【返回值代表的是数组当中的读取的有效个数。】
BufferedWriter和FileWriter差不多,也是用来读取文件的一种字符输入流。 区别就在于BufferedReader肚子里有一个8192长度的char[]字符数组,当做缓冲区使用。 当读取数据的时候,一次性从硬盘当中读取最多8192个字符,放在数组缓冲区当中。 在调用read方法的时候,只是从缓冲区当中拿出来字符进行使用。 如果缓冲区当中的字符被“取空”,那么将会自动再次读取最多8192个再次放在缓神区当中。
如何使用BufferedReader? A.首先创建一个普通的FileReader B.将这个普通的FileReader包装成为缓沖的BufferedReader,构造方法。 C.使用起来和普通的FileReader基本没有区别. D.构造方法:public BufferedReader(FileReader fr);参数就是一个普通的FileReader对象。
BufferedReader额外提供了一个方法,可以读取一整行字符串。 public String readLine();读取一整行字符串,返回值当中不包含换行符。
1.每次调用read();都会读取下一位字符; 2.在print输入中也可以进行强-制转换; 3.FileReader是类。read是方法; 4.FileReader里的read方法执行到最后是,会返回-1,代表没有更多内容; 5.BufferedReader里的read方法执行到最后是,会返回null,代表没有更多内容;