Java基础知识21——IO流day01-IO概述&递归&File类
2019-02-01 14:49
141 查看
版权声明:版权本人所有,转载请标明出处,谢谢合作! https://blog.csdn.net/qq_36326332/article/details/86736325
IO概述:IO流用来处理设备之间的数据传输。
当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作。
当把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作。
因此我们把这种输入和输出动作称为IO操作。
File类
[code] * File类概述:文件和目录路径名的抽象表示形式。 * 构造方法: * public File(String pathname):根据一个路径得到File对象 * public File(String parent,String child):根据一个目录和子文件/目录得到File对象 * public File(File parent,String child):根据一个父File对象和一个子文件/目录得到一个File对象 * * 绝对路径:固定不可改变的路径,以盘符开头 * 相对路径:相对某个参照物,不能以盘符开头 * 在eclipse中相对路径性对应当前项目根目录 *成员方法: * 创建功能 * public boolean createNewFile():当指定文件不存在时创建文件并返回true,否则返回false * public boolean mkdir():当指定文件夹不存在时创建文件夹并返回true,否则返回false * public boolean mkdirs():创建指定文件夹,当文件夹所在的目录不存在,则就一块创建了并返回true,否则返回false * * 删除功能 * public boolean delete():当指定的文件或文件夹存在时删除文件或者文件夹,并返回true,否则返回false * 注意:删除一个文件夹,这个文件夹下面不能有其他的文件和文件夹 *修改功能 * public boolean renameTo(File dest):如果路径相同,就是改名;如果路径不同,就是改名并剪切 * * 判断功能 * public boolean exists():判断文件或者文件夹是否存在,如果存在则返回true,否则返回false * public boolean isAbsolute():判断File对象指向的路径是否是绝对路径,如果是绝对路径则返回true,否则返回false * public boolean isDirectory():判断File对象指向的路径是否是文件夹,如果是则返回true,否则返回false * public boolean isFile():判断File对象指向的路径是否是文件,如果是则返回true,否则返回false * public boolean isHidden():判断File对象指向的路径是否是隐藏文件或者文件夹,如果是则返回true,否则返回false * * 获取功能 * public File getAbsoluteFile():以File对象的形式返回当前File对象所指向的绝对路径 * public String getAbsolutePath():返回File对象所指向的绝对路径 * public File getParentFile():以File对象的形式返回当前File对象所指向的父文件夹名 * public String getParent():返回File对象所指向的父文件夹名 * public String getName():获取文件或者文件夹的名称 * public String getPath():返回创建File对象时给的路径(创建的是相对路径,返回的是相对路径;创建的是绝对路径,返回的是绝对路径) * public long lastModified():返回文件对象最后修改时间的毫秒值 * public long length():返回文件的内容大小。(单位:字节【B; 1KB=1024B】) * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组。 注意:只有指向文件夹的File对象才可以调用该方法 * public File[] listFiles()获取指定目录下的所有文件或者文件夹的File数组。 注意:只有指向文件夹的File对象才可以调用该方法 * public static File[] listRoots():返回的是所有的盘符 * public File[] listFiles(FileFilter filter) :按文件过滤 * public File[] listFiles(FilenameFilter filter):按文件名过滤
递归
递归概述:指在当前方法内调用自己的这种现象
递归分类:
- 直接递归:直接递归称为方法自身调用自己
- 间接递归:间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法
递归的作用原理以及注意事项:
* 递归:
把大问题拆成很多小问题,然后再把小问题拆成更多的小问题,当我们把更多的小问题解决了,小问题也解决了,随着小问题的解决,大问题也随之解决了。
递归的注意事项:
- 递归一定要有出口,否则内存溢出
- 递归次数不宜过多,否则内存溢出
- 构造方法不能递归使用。
[code]递归的举例: * 需求:求5的阶乘 * 5! = 5 * 4 * 3 *2 * 1;//120 * 5! = 5 * 4!; //120 * 4! = 4 * 3!; //24 * 3! = 3 * 2!; //6 * 2! = 2 *1!;//2 * 1! = 1;//1 * n! = n * (n-1)!; public class 递归调用Demo { public static void main(String[] args) { // double result = jieCheng(5); System.out.println(result); } public static double jieCheng(double num) { //出口 if (num == 1) { return 1; }else{ return num*jieCheng(--num); } } } * public void show(int n){ * //出口 * if(n==0){ * return; * } * show(n-1); * } * * 从前有个山,山上有个庙,庙里有个老和尚,老和尚在给小和尚讲故事 * 从前有个山,山上有个庙,庙里有个老和尚,老和尚在给小和尚讲故事 * 从前有个山,山上有个庙,庙里有个老和尚,老和尚在给小和尚讲故事 * 从前有个山,山上有个庙,庙里有个老和尚,老和尚在给小和尚讲故事 * ......
相关文章推荐
- Java基础知识强化之IO流笔记21:FileInputStream读取数据
- Java基础知识_毕向东_Java基础视频教程笔记(19-21 IO流)
- Java基础知识_毕向东_Java基础视频教程笔记(19-21 IO流)
- 黑马程序员——java基础知识之IO流(二)
- Java基础知识强化之IO流笔记45:IO流练习之 把集合中的数据存储到文本文件案例
- java基础知识——网络编程、IO流
- Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例
- Java基础知识强化之IO流笔记52:IO流练习之 把一个文件中的字符串排序后再写入另一个文件案例
- JAVA 基础知识学习21
- Java基础知识强化之IO流笔记55:IO流练习之 自定义类模拟LineNumberReader的获取行号功能案例
- Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)
- Java基础知识强化之IO流笔记70:Properties练习之 如何让猜数字小游戏只能玩5次的案例
- Java基础知识强化之IO流笔记72:NIO之 NIO核心组件(NIO使用代码示例)
- Java基础(20,21)IO流
- Java基础知识强化之IO流笔记82:NIO之 Pipe(管道)
- Java基础知识强化之IO流笔记30:字节流4种方式复制mp4并测试效率
- Java基础知识总结之IO流
- Java基础知识强化之IO流笔记40:字符流缓冲流之特殊功能 [ newLine() / readLine() ]
- java基础知识——网络编程、IO流
- Java基础知识强化之IO流笔记50:IO流练习之 复制多级文件夹的案例