程序地带

File类和IO


File类和I/O
file

在java中,IO总是和file是分不开的,所以在学IO前必须先明白什么是file类,也就是什么是文件类。在电脑中,要么是文件,要么是文件夹。不管是.exe,.jpg还是.txt他们都是文件,都是以二进制保存的文件。区别不同的是后缀不同读取识别的格式也不同,但本质是一样的,都是二进制文件。而file类就是Java中操作文件和文件夹的工具类,对于这种工具类我们只需要记那些常用方法就行,如果后续还要使用它的其它的方法,到时在查文档就行。


常用方法
判断文件是否存在: public boolean exists()创建文件:createNewFile();会发生I/O异常创建文件夹:mkdir();只能创建一级目录 mkdirs();创建多级目录获取绝对路径(完整路径):getAbsolutePath();获取相对路径(创建文件时传入的路径):getPath();判断文件类型:isFile();判断是否是一个文件夹:isDirectory();得到文件大小:length();获取最后一次修改时间:lastModified();列出文件夹中所有文件:listFiles();得到文件夹中的所有文件File[] files=file.listFiles();删除文件:delete();
I/O流
概念:用于传输数据的抽象概念。在不同程序中传递数据。
流具有方向性,输入输出是相对的概念,是相对与程序的概念输入数据给程序则是输入流,从程序中输出数据就是输出流 流的分类:
处理的数据单位不同:字符流(只能操作纯文本文件),字节流数据流方向不同:输入流,输出流功能不同:节点流,处理流
节点流:可以直接建立两点之间的关系处理流:对节点流功能的一个完善
字节流字符流输入流InputStreamReader输出流OutputStreamwriter
注意事项
写入的话是直接覆盖原文件当打开一个文件,在里面写入多次时是追加,如果你关闭流,在打开流操作这个文件则会覆盖你之前的内容当写入文件不存在时会自动新建当读入文件不存在时,会报错(找不到文件异常)
节点流

节点流也就是字符流和字节流,这也是IO中最基础的两个流,其它的流都是建立在这两个流的基础上的。


处理流(包装流)

也就是在节点流的基础上封装了一些功能,扩展了一些功能


InputStreamReader完成byte流解析为char流,按编码解析outputStreamWriter:完成char流到byte流,按照编码处理BufferedReader(一次读一行)BufferedWriter/PrinterWriter(一次写一行)
对象序列化
概念
将Object转换为byte序列,反之叫对象的反序列化把我们的对象转化为可以通过流传输的二进制文件 对象的反序列化
把我们通过序列化生成的二进制文件转换为我们的原对象对象 注意实现
序列化接口(Serializable)必须序列化接口,对象必须序列化接口,才能进行序列化,否则将出现异常一个类实现序列化接口,那么其子类都可以进行序列化 序列化的应用:序列化是把Object类转化为byte序列,而我们的字节流操作的就是byte型,Object是Java中所有类的爸爸,而子类继承父类的一切,换句话说就是Java中的任何类都可以序列化,而序列化就是为了保存那些类信息,比如说我们建了一个Student类,我们把Student类序列化,这样我们就可以把学生信息通过Io保存到文件中去,使这个文件起到数据库的作用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44499174/article/details/111246012

随机推荐

“无代码”时代,离我们还有多远?

“无代码”时代,离我们还有多远?

本文转载自设计杂谈“代码行业的未来,是无代码”,这句话来自GitHub的CEO-ChrisWanstrath。当今,代码应用在生活中的方方面面,...

程序员的店小二 阅读(454)

图形化安装/配置界面调用

图形化安装/配置界面调用

达梦数据库图形化安装/配置界面调用图形化安装/配置界面调用图形化安装/配置界面调用[root@DCA01桌面]#echo$DISPLAY如果没有输出则执行[root@DCA01桌面]#...

dz16888888 阅读(922)

influxDB框架 & 数据存储 & TSM & 数据操作等详解

influxDB框架 & 数据存储 & TSM & 数据操作等详解

文章目录influxdbinfluxdata主目录结构源码主目录结构cmd目录其他目录数据操作CLI--influx命令行操作执行influx创建数据库查看数据库使用数据库数据行协议插入数据行查看数据...

Luweir23 阅读(603)

十二、Match与Index函数

十二、Match与Index函数

函数语法与VLOOKUP比较单元格引用原理认识COLUMN函数使用Match与VLOOKUP函数嵌套返回多列结果 函数语法MATCH(lookup_value,lookup_array,[match_...

行知天下 阅读(421)

使用js-xlsx导出多个EXCEL

场景:导出多个EXCEL情况解决:查考文章https://www.cnblogs.com/wx1993/p/11847225.html...

高蓓蓓 阅读(144)

IDEA_打开Run Dashboard

IDEA_打开Run Dashboard

1、找到项目的.idea文件2、打开workspace.xml<!--添加rundashboard--><componentname="RunDashboard...

weixin_51578439 阅读(811)