本文参考了CSDN两位博主的文章,以下附上原文链接:
版权声明:本文为CSDN博主「玩人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jeryjeryjery/article/details/72626238
原文链接:https://blog.csdn.net/szlg510027010/article/details/88974559
FileWriter和FileReader都是用来实现 字符读写到文件 的 IO类。
一、FileWriter
1.主要的构造函数有:
FileWriter(String fileName) //用文件路径名来构造FileWrite
//覆盖掉原来已有的内容
FileWriter(String fileName, true) //用文件路径名来构造FileWrite
//从文件尾部以追加的方式写入数据
FileWriter(FileDesecriptor fd) //用文件描述符来构造FileWrite
//覆盖掉原来已有的内容
FileWriter(FileDesecriptor fd,true) //用文件描述符来构造FileWrite
//以追加的方式来写入数据
FileWriter(File file) //用File对象来构造FileWriter
//覆盖掉原来已有的内容
FileWriter(File file,true) //用File对象来构造FileWriter
//从文件尾部开始写
2.write() 的5种重载方式:
- write(int args) : 写入数字,利用ASCII 码表或者Unicode表转化
- write(String str) :写入字符串
- write(String str,int offset,int count):写入字符串的一部分
- write(char[] array) : 写入字符数组
- write(char[] array , int offset , int count) :写入字符数组的一部分
3.write() 的用法:创、写、关
例:
FileWrite fw = new FileWrite("D:\\file1.txt") //创:new一个对象
fw.wtire("Hello World !"); //利用write方法写入字符
fw.close(); //利用close方法关闭文件
文件不存在?
- 如果这个文件不存在,那就会自动创建一个文件,创建完以后的纯文本文件放在java工程下面
写到纯文本文件里的数据都是在同一行,怎样实现换行?
- Windows系统下,调用write() 方法的时候,多写两个字符 \r\n
- macOS 和 Linux 系统下 ,多写 \n
4.FileWriter写入例子:
import java.io.FileWriter;
import java.io.IOException;
public class FileTest(){
public static void main(String[] args) throws IOException{
FileWreter fw = new FileWiter("D:\\text1.txt");
String str = "又是一年好风景,落花时节又逢君";
int i = 123456;
char ch = ‘A’;
fw.Write(str);
fw.Write(i + " "); //写入的是按ASCII码对应的字符
fw.Write(ch);
fw.Write('\n'); //换行字符也可以直接写入
fw.flush();
fw.close();
}
}
二、FileReader
构造函数有:
FileRead(String fileName) //用文件路径名来构造FileRead
FileRead(FileDesecriptor fd) //用文件描述构造FileRead
FileRead(File file ) //用File对象来构造FileRead
FileReader例子:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileTest(){
public static void main(String[] args) throws IOException{
FileReader fd = new FileReader("D:\\text1.txt");
char[] chs = new char[1234];
while(fd.read(chs) != -1){
System.out.print(chs);
}
}
}