一.file类
File file=new file("d:\\a.txt");
只是创建了一个表示,并不会在文件夹中创建一个txt
方法名 | 描述 |
---|---|
file(file parent,string child) | 根据parent抽象路径名和child路径名创建一个新的file实例 |
file(string pathname) | 创建一个新的实例 |
file(string parent,string child) | 根据parent路径名字符串和child路径名字符创建一个新的file实例 |
mkdir()创建此抽象路径名指定的目录
mkdirs()多级目录
io流
1.内存要和磁盘进行交互处理,内存把数据存储到磁盘中就是输入。磁盘中的数据被提出来交给内存处理就是输出,
2.流:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
3.字节流:一次性传输一个字节数据,将数据以字节的形式传输;
字符流:一次性传输一个字符(utf—8)数据,将数据以字符的形式传输。
public class DemoFileInputStream {
public static void main(String[] args) {
//创建被操作文件:此文件必须存在,否则读取时,抛出文件找不到异常
File file = new File("test\\hello.txt");
//声明流,不初始化
FileInputStream fis = null;
try {
//初始化流
fis = new FileInputStream(file);
//准备数组用来存储数据
byte[] b = new byte[3];
//先定义一个变量,初始值是-1
int i = -1;
//定义一个计数循环的变量
int count = 0;
//while循环读取
while((i=fis.read(b))!=-1) {
count++;
for(int j=0; j<i; j++) {
System.out.print((char)b[j]);
}
}
System.out.println(count);//计数:计算循环读取的次数
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if(fis!=null) {
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
writer:是所有字符输出流的父类,为一个抽象类,并不能实例化对象,使用他的子类filewriter;
File file=new File("file/output.txt"); writer writer=new file writer(file); writer.writer("为你弹奏肖邦的夜曲"); writer.flush(); writer.close();
总结
1.file类,表示硬盘上的文件或者文件夹。(1)file file=new file 加一个映射,不能创建。
(2)判断存在使用exists
(3)创建出来文件或者文件夹使用createnewfile 或者mkdir ,mkdirs
(4)删除用delete或者deleteonexit 使用tread.sleeo 可以预留时间看是否删除。
(5)获取绝对路径file.getAbsoultatePath() 规范路径 file.getpath 最后修改时间file.lastmodified()
(6)判断是文件还是文件夹 file.isdirectory() file.isfile() file.ishidden;
(7)列出来当前目录下的文件和子文件夹
dir.list();//String[]
dir.listFiles();//File[]
dir.list(FileNameFilter);
File.listRoots();//返回所有的盘符