153 file文件

package File;import java.io.File;/*** 学会创建file对象,定位操做系统的文件*/
public class FileDemo {public static void main(String[] args) {//创建file对象File f = new File("C:\\D\\EXE\\JDK\\lib\\tools.jar");File f22 = new File("C:/D/EXE/JDK/lib/tools.jar");File f33 = new File("C:"+File.separator+"D"+File.separator+"EXE"+File.separator+"JDK"+File.separator+"lib"+File.separator+"tools.jar");long size = f.length();  //文件的字节long size2 = f22.length();  //文件的字节long size3 = f33.length();  //文件的字节System.out.println(size);System.out.println(size2);System.out.println(size3);//相对路径,一般定位模块中的文件,相对到工程下File f2 = new File("untitled1/src/File/pic.PNG");System.out.println(f2.length());//也可以是文件夹的大小File f3 = new File("C:\\D");System.out.println(f3.exists());}
}

154 file类常用方法

package File;import java.io.File;
import java.text.SimpleDateFormat;public class FileDemo2 {public static void main(String[] args) {File f = new File("untitled1/src/File/pic.PNG");System.out.println(f.getName());System.out.println(f.length());System.out.println(f.getAbsolutePath());   //C:\D\IdeaProjects\java-code\untitled1\src\File\pic.PNGSystem.out.println(f.getPath());  //untitled1\src\File\pic.PNG//获取文件最后修改时间long time = f.lastModified();System.out.println("最后的修改时间:"+new SimpleDateFormat("yyyy/MM/dd  HH:mm:ss").format(time));//判断是否为文件System.out.println(f.isFile());System.out.println(f.isDirectory());}
}
package File;import java.io.File;public class FileDemo3 {public static void main(String[] args) {File file = new File("C:\\D\\EXE");String[] files = file.list();for (String s : files) {System.out.println(s);  //输出文件的名称}//listFiles方法注意事项//当调用者不存在时,返回null//当调用者是一个文件时,返回null//当调用者时一个空文件夹时,返回一个长度为0的数组//当调用者是一个有内容的文件夹时,将所有文件和文件夹的路径放在数组中返回//当包含隐藏文件时,将所有文件和文件夹的路径放在数组中返回File f2 = new File("C:\\D\\EXE");File[] files2 = f2.listFiles();  //只能遍历一级文件夹for (File f : files2) {System.out.println(f.getAbsolutePath());}}
}

155 递归

递归:就是方法直接或间接调用自己
递归死循环:递归方法无限调用自己,出现栈内存溢出

package File;package File;/*** 体验递归,求5的阶乘  和1--n的和*/
public class DiguiDemo {public static void main(String[] args) {int result =f(5);System.out.println(result);int res2=f2(5);System.out.println(res2);System.out.println(f3(1));}public static int f(int n){if (n==1){return 1;}else{return n*f(n-1);}}public static int f2(int n){if (n==1){return 1;}else{return f2(n-1)+n;}}//f(x)-f(x)/2-1=f(x+1)public static int f3(int n){if(n==10){return 1;}else{return 2*f3(n+1)+2;}}
}
package File;import java.io.File;
import java.io.IOException;public class DiguiDemo2 {public static void main(String[] args) throws IOException {searchFile(new File("C:\\d"),"Code.exe");}/*** 搜索某个目录下的全部文件,找到要找的文件* @param dir  被搜索的目录* @param fileName  被搜索的文件名称*/public  static void searchFile(File dir, String fileName) throws IOException {//3判断dir是否时目录if (dir!=null&&dir.isDirectory()){//4提取当前目录下的一级文件对象File[] files = dir.listFiles();//5判断是否存在一级文件对象,存在才可以遍历if (files!=null&&files.length>0){for (File file : files) {//6判断是对象还是目录if (file.isFile()){//7判断是不是要找的,把路径输出if (file.getName().contains(fileName)){System.out.println("找到了"+file.getAbsolutePath());//启动他Runtime r = Runtime.getRuntime();r.exec(file.getAbsolutePath());}}else {//8是文件夹,继续遍历searchFile(file,fileName);}}}}else {System.out.println("对不起,当前搜索的不是文件夹");}}
}
package File;import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;public class FileInputStreamDemo {public static void main(String[] args) throws IOException {//1创建一个文件字节输入管道与源文件接通
//        InputStream is = new FileInputStream(new File("untitled1\\src\\File\\pic.PNG"));//简化写法InputStream is = new FileInputStream("untitled1\\src\\File\\pic.PNG");
//        //2读取一个字节并返回,每次读一个字节,读取结束返回-1
//        int b1 = is.read();
//        System.out.println(b1);//        //定义一个变量记录每次读到的字符
//        int b;
//        while((b=is.read())!=-1){//            System.out.println((char) b);
//        }//        //定义一个字符数组,用于读取字节数组
//        byte[] buffer = new byte[3];
//        int len = is.read(buffer);
//        System.out.println("读取了几个字节"+len);
//        //读取多少倒出多少
//        String rs = new String(buffer,0,len);
//        System.out.println(rs);//改善使用循环,每次读一个字节数组byte[] buffer = new byte[1024];int len;  //记录每次读取的字节数while ((len= is.read(buffer))!=-1){System.out.println(new String(buffer,0,len));}}
}
package File;import java.io.*;public class FileInputStreamDemo3 {public static void main(String[] args) throws IOException {File f = new File("C:\\d\\车位出租协议.docx");InputStream is = new FileInputStream(f);//定义一个数组,与文件的大小一样大byte[] buffer = new byte[(int) f.length()];int len = is.read(buffer);System.out.println("读取了多少个"+len);System.out.println("文件大小"+f.length());System.out.println(new String(buffer));}
}

try–catch–finally
finally,在异常处理时,提供finally模块来执行所有清除操作,比如io流的资源释放
特点:被finally控制的语句一定会被执行,除非jvm退出

java学习笔记--黑马徐老师二相关推荐

  1. java学习笔记--黑马徐老师三--项目实战

    package Moive.bean;import java.math.BigDecimal; import java.text.ParseException; import java.text.Si ...

  2. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  3. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

  4. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  5. Java学习笔记-Day64 Spring 框架(二)

    Java学习笔记-Day64 Spring 框架(二) 一.控制反转IOC和依赖注入DI 1.控制反转IOC 2.依赖注入DI 3.Spring IOC容器 3.1.简介 3.2.实现容器 3.2.获 ...

  6. # java学习笔记 2020 2/8(十二)慕课网 构造方法

    java学习笔记 2020 2/8(十二)慕课网 构造方法 构造方法是一种特殊的方法,它是一个与类同名的方法. 对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化. 当类实例化一个对象时会 ...

  7. java学习笔记day09 final、多态、抽象类、接口

    java学习笔记day09 思维导图 final . 多态 . 抽象类 . 接口 (都很重要) 一.final 二.多态 多态中的成员访问特点⭐ [P237] 多态的好处 [P239] 多态的弊端 向 ...

  8. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

  9. c语言/c++转Java学习笔记---基础问题

    c语言/c++转Java学习笔记---基础问题 1.java注释 2.数组的定义和使用 定义 使用 3.类 4.this 的使用 5.继承 6.super的使用 7.包 8.修饰符 成员的访问控制符( ...

最新文章

  1. vue插槽样式_vue 插槽简介及使用示例
  2. [原]Java程序员的JavaScript学习笔记(12——jQuery-扩展选择器)
  3. 关于SAP Spartacus的Action - LoadCmsPageData
  4. 职场上个人的核心技术_职场上,这3种人表面老实,实际却是个“高手”,要远离...
  5. 联发科技嵌入式_【MTK联发科技嵌入式面试】联发科技校招最新面试经验-看准网...
  6. SQL Server中的批处理排序和嵌套循环
  7. python避坑_Django搭建项目实战与避坑细节详解
  8. WebApp用组件方式开发全站
  9. Android-基本控件和详解四种布局方式
  10. LayaAir学习笔记
  11. 电脑烤机了会有损伤吗,AIDA64一般烤多久
  12. 根据示波器存储的波形数据得到两列信号的相位差(MATLAB源码)
  13. PS合成图片#ps抠图#ps视频教程入门基础学习课程小白
  14. M1 Mac使用Kitty script入库标准音源到Kontakt6
  15. 技术改变生活——用HanLP来协助处理现实中问题
  16. 使用artisan命令创建控制器
  17. 小米pro显示无服务器,【解决】小米WiFi放大器pro连接不稳定/连接后无网络的问题!!!...
  18. [Untiy]贪吃蛇大作战(一)——开始界面
  19. 小猪博客(猪窝) -- 关注新鲜、有趣、不可思议的事物
  20. 手推SVM 支持向量机的简易推导和理解

热门文章

  1. 2022软考成绩能不能复核?
  2. “近视眼”的人到底有多痛苦?(漫画)
  3. 前端和后端的英文_80后老阿姨转行做前端的学习心得,深情交流!
  4. JavaScript中的内置对象
  5. 如何整理计算机本地磁盘文件夹,怎么清理c盘无用文件,10招教你如何清除C盘除系统外的所有垃圾...
  6. python类继承实例_Python实现类继承实例
  7. xls文件感染宏病毒的处理方法
  8. 软件工程总结——传统软件开发方法与面向对象开发方法的比较
  9. 群晖docker安装chrome
  10. lisp 焊缝标注_机械图纸 焊接符号