目录
文件是保存数据的地方,比如大家经常使用的word文档,txt文件,excel文件...都是文件。
1. 常用文件操作
File file = new File("B:\\news1.txt");
//调用相应的方法,得到对应信息
System.out.println("文件名字= "+file.getName());
//
System.out.println("文件绝对路径= "+file.getAbsolutePath());
System.out.println("文件父级目录="+file.getParent());
System.out.println("文件大小(字节)="+file.length());
System.out.println("文件是否存在="+file.exists());
System.out.println("是不是一个文件="+file.isFile());
System.out.println("是不是一个目录="+file.isDirectory());
2. Java IO流原理
1. I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理数据传输。如读/写文件,网络通讯等。
2. Java程序中,对于数据的输入/输出操作以“流(stream)”的方式进行。
3. java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过方法输入或输出数据
4. 输入input:读取外部数据(磁盘,光盘等存储设备的数据)到程序(内存)中。
5. 输出output:将程序(内存)数据输出到磁盘,光盘等存储设备中。
2.1 流的分类
按操作数据单位不同分为:字节流(8bit)二进制文件,字符流(按字符)
按数据流的流向不同分为:输入流,输出流
按流的角色的不同分为:节点流,处理流/包装流
输入流:InputStream(字节流) Reader(字符流)
输出流:OutputStream(字节流) Writer(字符流)
Java的IO流涉及40多个类,实际上非常规则,都是从如上4个抽象基类派生的
由这四个类派生出来的子类名称都是以其父类名作为子类名后缀
3. FileReader和FileWriter介绍
FileReader和FileWriter是字符流,即按照字符来操作io
FileReader相关方法:
1. new FileReader
2. read:每次读取单个字符,返回该字符,如果到文件末尾返回-1
3. new String(char[]):将char[] 转换成String
FileWriter常用方法:
1. new FileWriter(File/String):覆盖模式,相当于流的指针在首段
2. write(int):写入单个字符
3. write(char):写入指定数组
4. write(string):写入整个字符串
注意:FileWriter使用后,必须要关闭(close)或刷新(flush),否则写入不到指定的文件