1.FileWriter
写数据---输出流---由控制台向文件中写数据
import java.io.FileWriter;
import java.io.IOException;
/*
* 写数据---输出流---由控制台向文件中写数据
*/
public class IOFileWriterdemo01 {
public static void main(String[] args) throws IOException {
//1.创建输出流 (运行的时候在该路径下自动创建)
FileWriter fw = new FileWriter("/Users/rick/WorkSpace/etc/a.txt");//如果没有写盘符,直接写文件名,该文件则创建在该项目的根路径下,此方式为相对路径
//FileWriter fw = new FileWriter("/Users/rick/WorkSpace/etc/a.txt",true); //此方法用于追加写入
//2.写一个字符串
fw.write("OK! write success");
fw.write("\n");
//5种方式
//1)
fw.write("Hello IO");
fw.write("\n"); //windows下面的识别的换行符为"\r\n" 自带的记事本才能看到换行 linux为“\n” mac为"\r"
//2)
fw.write("abcdefg", 2, 5);
fw.write("\n");
//3)
fw.write('a');
fw.write("\n");
//4)
fw.write(97);
fw.write("\n");
//5)
char[] ch = {'a','b','c','d','e'};
fw.write(ch);
fw.write(" ");
fw.write(ch,1,3);
fw.write("\n");
//3.内容写到了缓冲区,需要刷新一下才能写到文件
fw.flush();
//4.释放资源
fw.close();//close的时候会自动的flush一下,如果没有第三步操作,文件也写进去了.So数据不多的时候可以不用flush
}
}
2.FileReader
读数据---输入流---由控制台对文件进行读数据
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/*
* 读数据---输=入流---由控制台对文件进行读数据
*/
public class IOFileReaderdemo01 {
public static void main(String[] args) throws IOException {
//创建输入流对象
FileReader fr= new FileReader("/Users/rick/WorkSpace/etc/a.txt");
//调用输入流对象的读数据方法
/*//方式1
int ch;
while((ch=fr.read())!= -1) {
System.out.print((char)ch);
}
*/
//方式2
char[] chs = new char[1024];
int len;
while((len = fr.read(chs)) != -1) {
System.out.println(new String(chs,0,len));
}
System.out.println(chs);
//释放资源
fr.close();
}
}