day15(文件)

文件:是系统操作的最小单位File (目录、文件)
1.创建文件
2.判断文件/目录是否存在
文件的创建——File file = new File("C:\Users\89479\Desktop\1.txt");

    //2.判断文件或者目录实是否存在
    if (!file.exists()) {
        //3.创建文件
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

目录的创建——
File file = new File("C:\Users\89479\Desktop\","file");
if (file.exists()){
return;
}
try {
//创建目录
file.mkdirs();
} catch (NullPointerException e) {
e.printStackTrace();
}
}
3.写入数据
File没有具体读取和写入的方法数据的读取和写入通过IO流来操作
I/O 流:输入流 输出流
方向:相对的 相对于内存—-运行的程序-进程
输出流:内存->外部->(硬盘 网络 外部设备)
输入流:外部(硬盘 网络)-> 内存
4.删除
public static void deleteFile(){
File parent = new File("C:\Users\89479\Desktop" );
File file = new File(parent,"file");
if (file.exists()){
file.delete();
}
}
文件的过滤——
String[] listPath = file.list(new FilenameFilter() {
@Override
public boolean accept(File file, String s) {
//如果返回true 满足条件 当前这个文件会被选中
//如果返回false 不满足条件 当前文件不会列出来
if (file.isFile()) {
return true;
}
return false;
}
数据的存储有两种:
1.字节形式存储——图片 视频 音频 exe(二进制存储 看不懂)
2.字符的形式存储 ——文本
读取方式:二进制文件->字节流 ——一次读取一个字节
文本 ->字符流——一次读取两个字节
I/O 操作
字节流 输入流InputStream输出流OutputStream
字符流 输入流Reader 输出流 Writer
具体实现类
字节流 输入流 FileInputSteam 输出流FileOutputStream
字符流 输入流 File Reader 输出流 File Writer
注意!
使用I/O流操作时,需手动释放不需要的资源(关闭文件)
凡是实现了closeable接口的的类都可以在try()括号内部创建对象
这样做的好处是——当try代码块执行完毕或有异常,系统自动关闭对应的对象(简洁代码)
try(创建对象){
}catch{
}

你可能感兴趣的:(day15(文件))