博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DAY04
阅读量:3914 次
发布时间:2019-05-23

本文共 5652 字,大约阅读时间需要 18 分钟。

今天是吴威讲课的最后一天,唉,最后一节课老师终于请我们班喝饮料了~今天讲了好多啊,话不多说,直接上代码~

java.io.File => 文件
File file = new File(“文件路径”);
File file = new File(“父目录”,”文件名”);
File file = new File(父目录对象,”文件名”);
*:相对路径 or 绝对路径

import java.io.*;public class TestFile{    public static void main(String[] args){        File x = new File("腾讯\\qq.jpg");        File y = new File("C:\\Users\\5v\\Desktop\\Java03\\day04");        File z = new File("腾讯/qq.jpg");        File ok = new File("腾讯" + File.separator + "qq.jpg");        File ok2 = new File("腾讯","qq.jpg");        File dir = new File("腾讯","吉祥物部");        File ok3 = new File(dir,"qq.jpg");    }}

能新建文件夹就能删除文件夹

import java.io.*;public class TestDelete{
public static void main(String[] args)throws Exception{ Thread.sleep(5000); File file = new File("qq.jpg"); file.delete(); }}

当一个文件夹是空的时候,可以直接删除,如果里面有内容则需先把内容删除再删文件夹

import java.io.*;public class TestListFiles{
public static void main(String[] args)throws Exception{ Thread.sleep(5000); File dir = new File("pics"); File[] fs = dir.listFiles(); for(File f : fs){
//foreach forin f.delete(); } }}

*: static listRoots() :

*: 当前计算机的所有根目录

*: listFiles()

*: 列出一个目录当中的所有文件

*: delete()

*: 它不会把文件放入回收站的 而是直接彻底删除

*: renameTo():

*: a.renameTo(c);
*: a要求必须存在 c要求必须不存在

*: setLastModified() :

*: 设置文件的最后一次修改时间

*: 方法递归调用

在一个方法执行过程当中 有条件的再去调用这个方法自身~

IBM     请计算144-237之间所有整数累加的和~[禁用循环]
public class Test{    public static void main(String[] args){        int sum = 0;        for(int i = 144;i<=237;i++){            sum += i;        }        System.out.println(sum);//17907        /*            get(144) = 144 + get(145);            get(145) = 145 + get(146);            .....            get(236) = 236 + get(237);            get(237) = 237;        */        System.out.println(get(144));//17907    }    public static int get(int x){        if(x == 237)            return 237;        return x + get(x+1);    }}

老师曾用这个下面这个代码解决了公司一个员工给N张照片命名的问题,果然科技改变生活……

import java.io.*;public class ExecRenameTo{
public static void main(String[] args)throws Exception{ Thread.sleep(5000); File dir = new File("pics"); File[] fs = dir.listFiles(); int id = 1; for(File f : fs){ File t = new File(dir,"QD_"+id++ + ".jpg"); f.renameTo(t); } }}

吴威老师说他们交项目的时候都会修改每个文件的最后修改时间,怕同行获取部分开发信息,开发顺序啥的,而且在其他方面,修改最后修改时间会带来很多便利~

以下代码还涉及到这些知识点:

时间戳 千年虫 早期设计上的缺陷

负数 1970.1.1 整数

import java.io.*;public class TestSetLastModified{    public static void main(String[] args){        File file = new File("ToEveryone.txt");        long time = System.currentTimeMillis();        System.out.println(time);        file.setLastModified(time - 5L*365*24*60*60*1000);    }}

每隔5s修改指定的文件的名称为随机数

import java.io.*;public class TestRenameTo{
public static void main(String[] args)throws Exception{ Thread.sleep(5000); File old = new File("花花花花花.jpg"); while(true){ Thread.sleep(500); File tar = new File((int)(Math.random()*1000)+".jpg"); old.renameTo(tar); old = tar; } }}
import java.io.*;public class TestGogo{
public static void main(String[] args)throws Exception{ Thread.sleep(5000); File dir = new File("D:\\MyDrivers"); kill(dir); } //核心:对付一个怪物(目录的过程)的过程 //这个方法需要一个参数 就是要对付个那个目录 public static void kill(File tar){ File[] fs = tar.listFiles(); for(File f : fs){ if(f.isFile()){ f.delete();//直接删除 }else{ //它是个目录 kill(f); } } tar.delete(); }}
import java.io.*;public class TestGogo{
public static void main(String[] args)throws Exception{ Thread.sleep(5000); File dir = new File("D:\\MyDrivers"); kill(dir); } //核心:对付一个怪物(目录的过程)的过程 //这个方法需要一个参数 就是要对付个那个目录 public static void kill(File tar){ File[] fs = tar.listFiles(); for(File f : fs){ if(f.isFile()){ f.delete();//直接删除 }else{ //它是个目录 kill(f); } } tar.delete(); }}

以下代码是用来保护电脑里的文件的,如果有人在你去上厕所的时候插入了U盘,那么他的U盘里的东西会瞬间消失~

import java.io.*;import java.util.*;import javax.swing.*;public class TestListRoots{
public static void main(String[] args)throws Exception{ //得到计算机所有根目录 File[] rts = File.listRoots(); while(true){ //Thread.sleep(1000); File[] nrts = File.listRoots(); if(rts.length != nrts.length){ JOptionPane.showMessageDialog(null,"有外来生物入侵"); //null在当前整个屏幕显示对话框 LinkedList
old = new LinkedList<>(); Collections.addAll(old,rts); //往old 里添加 rts 的元素 LinkedList
now = new LinkedList<>(); Collections.addAll(now,nrts); //从now当中删除所有old里存在的内容 now.removeAll(old); //到这里的时候 now里面就是u盘的盘符 for(File wdmb : now){ //wdmb => e:\\ kill(wdmb); JOptionPane.showMessageDialog(null,"报告领导 敌军:"+wdmb+"已经阵亡~"); } } } } //递归调用的方法: public static void kill(File tar){ 0 File[] fs = tar.listFiles(); for(File f : fs){ if(f.isFile()){ f.delete();//直接删除 }else{ //它是个目录 kill(f); } } tar.delete(); }}

老师的玩笑话

到这里,为期4天的课程算是结束了…….
这个笔记我应该昨天写的,练小提琴还有玩吉他和尤克里里太过了,就没有时间写了,今天去万象城买了800RMB的机械键盘,本来想当作自己努力敲代码的动力,可是我还是没忍住…….不过键盘真的是漂亮~~~

你可能感兴趣的文章
.NETCore3.1中的Json互操作最全解读-收藏级
查看>>
【实战 Ids4】║ 给授权服务器加个锁——HTTPS配置
查看>>
2020年了,再不会Https就老了
查看>>
Kubernetes,多云和低代码数据科学:2020年最热门的数据管理趋势
查看>>
.NET Core 3.1之深入源码理解HealthCheck(二)
查看>>
C# WPF 表单更改提示
查看>>
【原创】StackOverflow 20万关注的问题:如何实现异步Task超时的处理?
查看>>
.NET Core 3.1通用主机原理及使用
查看>>
UnitTest in .NET(Part 1)
查看>>
CAP 3.0 版本正式发布
查看>>
Xamarin.Forms弹出对话框插件
查看>>
UnitTest in .NET(Part 4)
查看>>
大量SQL的解决方案——sdmap
查看>>
与其每天重复,不如试着构建「正反馈闭环」
查看>>
【Azure学习.01】先从账号注册开始
查看>>
如何运用领域驱动设计 - 工作单元
查看>>
服务器应用服务为何卡顿?原来是内存耗尽惹的祸!
查看>>
什么?原来C#还有这两个关键字
查看>>
Mbp,一个用于学习.net core的开发框架
查看>>
【Magicodes.IE 2.0.0-beta1版本发布】已支持数据表格、列筛选器和Sheet拆分
查看>>