package msb_7天学完java.IO流;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
/**
* File类对象可封装要操作的文件,
* 可通过File类的对象对文件进行操作,
* 如查看文件的大小、判断文件是否隐藏、判断文件是否可读等
*
* 局限:File类的相关操作,并不涉及文件内容相关的操作,这是单独依靠File类对象无法实现的操作,此时需要借助I/O流完成
*
* I/O流
* I/O流即输入输出流,可理解为一个“管子”,使数据在文件和程序之间流动
* I/O流的分类:
* 方式1:按照方向划分————输入流和输出流——是以程序为标准的
* 方式2:按照处理单元划分————字节流和字符流
* 方式3:按照功能划分————节点流(一个流)和处理流(多个流接在一起)
*/
//实现读取文件的功能
//创建文件———》创建管子——》管子读文件到程序——》关闭管子
public class IO流 {
public static void main(String[] args) throws IOException {
//对文件进行操作,必须将文件封装为具体的File类的对象才能进行使用
File f = new File("E:\\java\\java_study\\src\\msb_7天学完java\\IO流\\Test.txt");//创建一个File对象 pathname路径名
//”管子“==流==使用输入字符流(文件到程序)
FileReader fr = new FileReader(f);//将这个管子fr放到文件上去--管子和文件结合
//管子进行读文件,每次读一个字符,用循环
int n = fr.read();
while(n!=-1) {
System.out.println(n);//输出的是AscII码,字符读完后会输出-1。ps:文件内容为abc
n = fr.read();
}
//流关闭
fr.close();//文件不读了,把管子关掉
}
}
package msb_7天学完java.IO流;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
//功能:将程序中的内容输出到文件中去
public class IO流2 {
public static void main(String[] args) throws IOException {
//程序中的字符串
String str = "def";
//创建文件
File f = new File("E:\\java\\java_study\\src\\msb_7天学完java\\IO流\\Test2");
//字符输出流
FileWriter fw = new FileWriter(f);
//将字符从程序输出到文件
fw.write(str);
//流关闭
fw.close();
}
}