00:00
我们这个程序啊,现在其实还是有问题的,什么问题呢。这儿。或者说我们看这吧,你看我们现在文件,呃,上传的文件是不是都放在images里边了,作为一个站点来说啊,这个有可能上传量是很大的。也就是说,这个目录里边有可能会包含很多很多这样的文件。可是。对于。我们的Windows系统对Linux系统,那么一个目录下可以存放的文件。数量是有限的。那也就是说你如果都放到这一个里边。肯定会达到一个上限,然后就放不进去了。那所以怎么办呢?我们就应该给他分目录来管理。
01:05
比如说我一天。建一个目录,在这里边建一个目录,按日期建一个目录。这样的话就比较多了,这个目录里边可能放了很多。然后下一个又换了日期了,他又一个目录。他可以又放很多。比如说。如果我没记错的话啊,一个目录里边Windows下好像是不允许超过65535个。65535。个文件,那我就在这儿,我新建一个目录,这个里边。可以存放多少?最多6535个。比如他这儿存放65334个。然后我这个呢,再来个目录,那么它里边呢,可以再存放6534个。
02:04
那你这俩加一块儿是不是就多了呀,可如果没有这俩目录,你这里面最多就是6535个。明白这个意思吧,我们可以分目录来管理。好,那这个怎么实现。我现在要实现的什么。就是按。日期。创建目录管理,那实际上现在啊,我们解决的是哪的问题,解的是这个pass的问题。这个pass啊,我要在这个images下给它创建,按日期创建目录了,所以我要在这儿做工作了。
03:05
日期日期,那写吧,那日期怎么来,那当然是。我们可以直接溜嘛,另一个data。是吧?这是不是获取当前的系统时间呢?然后我需要需要什么,需要要。YYYYMMDD年月日这种。形式,要这个形式的字符串呢,把这个日期变成这个字符串,所以我肯定得要simple,我这样吧,直接写你一个。
04:01
对,他。我这个叫SDF。是吧,我现在要的是。四个年。俩月,俩月。那。SDF点。要字符串的嘛,对不对,Format。这整体做的是什么?格式化。日期为指定格式化日期。就搁日期就行了。它返回一个值。就是这么串啊。
05:01
呃,我我我这个就就叫闹吧,这就叫闹。好。这就有了,有了以后pass。就复制为原来的pass。再给它加上个盖对吧,再加上个什么。No,再加上个闹,诶,这是不是就创建一个子目录。当然,这仅仅是啊,这仅仅是路径上有这样一个子目录,你要想创建这个目录,你还需要做工作,做什么工作?是不是得来个file是吧?这是个目录啊,点啊。我那一个pass。对吧。然我要创建创建。
06:03
Di点。是不是MKDR,这是MKDR4这个是就创建一级目录,这个呢创建目录。以及它的子目录都创建,我们现在就要它就行了。对不对,但是这个的前提是什么,你这个目录啊,你不能已经建好了,你建好了你再建肯定会错,所以我在这儿直接给他加上个条件,如果这个目录怎么。不存在,你注意它是不存在。我就创建这个目录,对吧,如。该目录不存在,则创建这个目录,OK。
07:02
这就搞定了。好。跑一下,这车现在可以跑了啊,这就可以跑了。可以跑了,我们删掉这个。这是5万。这无所谓了是吧。随便找一个看好走。看着这它下边,诶,是不是多了个子目录。这是当前的日期,2017年2月6号。这是当前的日期。下边是不是有这样一个文件,OK啦。
08:01
这就OK了,对不对,这是不是就方便多了,我一天一个,一天一个。当了。如果考虑的更全面一些啊,一天一个好不好好啊,一年365个。十年3000多个,那其实这已经够了,但如果说啊,这一天一个人有的需求,有的可能可能干什么,它它产生这个数据量非常大。那这个。有可能用不了一年,他这儿不是日期,或者要按其他的,那那那产生的数量很大,那产生的数据量很大的话,那这个里边马上就会多出来好多,也就说我现在或者换个说法吧,就是按照日期来。如果来管理的话啊,可能也不够。
09:00
不够用,文件还是多怎么办?我能不能给他分出来?2017年的。按年来管理,年下班又按月管理,月下班按日来管理。这样的话,那可以存放的文件就多得多了呀。是不是?这个怎么实现呢?啊,这个原理是一样的啊。啊,那咱们。把它删掉。再来一个。零七。
10:06
那我们看,也就是说我现在这个系统时间啊,我我这就不是闹了,我要要什么,要年月日呢这儿。Ear。年月。日要要这样了,建了三级目录,连上他四级了,但是你现在有没有这个年月日没有。没有那怎么办?用他推他。Get year你看到没?他已经过时了。这是过时的啊,你看。不建议使用了,不用它。我们用什么?
11:00
用catalina呀。那不是凯德琳娜呀,这个C琳娜呀,啊用calendar。看日历嘛。Calendar。点儿。第二,这个是什么?Get。是吧,Get instance。我们这个叫什么,我们这个叫闹吧。来获取当前系统时间,然后获取年月日,这就获好获取了,获取年月日,获取年月日now.get。啊,闹点闹点get。这里边儿放的是开。
12:00
点year年。是吧,然后月日月。MOS。哎,你注意啊,这个貌似这有点说头。你看着啊,这有day of month。这个。Day of week in month week of month,还有个month,这到底应该用谁呢?是不是为何满足我们知道。只是,只是。呃,按按星期来说的。这个这这这个day of month和这个month又各是什么呢?
13:02
我们不清楚。这样不清楚,我们挨个看一下,输出一下,这个是Mo诶。是吧,还有一个我们主要看的是这个啊。看这两个的区别啊。这个是。不对,Month month这个day month这说的有点devil month是什么?是月里边的日期啊,我们现在要他的。月没问题啊,月是没问题的,说没问题吧,也有点问题,我们一会输出一下看看啊,这个对。这是不是有个data?日期。和data of Mo。
14:02
这个data of year day of year。DA Mo。Day of week。这几个啊,我们看一下date日期。哎,这是个什么东西。再看一下。Day of month,其实day of year我们就不说了啊,他肯定是从一开始记1234567,一直到记到多少,365或者366,那个就不说了啊,这个是。Day day of month,有了是吧,Day of month,这是。好,我们这样啊,我们输出一下。或者我不输出啊,不输出啊,写这个输出很麻烦。
15:01
先把它写完了,我们再来看它的值。啊。年月日。是吧,年日啊,年月日年月日,这样写不好,还是让大家先看一下吧,先看一下比较合适一些啊。看谁呢?一页,没啥可说的。看一下Mo。再看一下,对。这day就是day of month是吧,再看一下。来,我们把这三个看一下啊,看一下再说其他的。嗯。
16:03
随便的。走。找不到路径,这肯定他找不到路径,我们现在不管那么多啊,他他看这主要是看这你看。Month month是一,不对啊,我们刚才看到的是二月份呢,在这怎么是一呢?Day和德塔现在是六,都是六。这没问题的啊,他俩一样。也就是说我们这儿用D也行,用data也行,我们现在用date。哎。这儿的问题啊,你注意这个month,需要注意这个month啊,它从零开始计数的是零到11,所以我们这儿啊,这个month应该给他加个一。我们应该给它加个一。那加个一给这直接加一,它就是二位了,这个就是二了。
17:03
OK了。这个问题不说了啊。啊,这个删掉。好,现在再来说创建目录的问题,创建目录啊,我这次就不能用它了,我这要建什么三级目录呢。Images已经有了,但是它下面有三级目录呢,我要建立year以及year的子目录,所以这是DR file.mkdr加个S就OK了。OK,现在这个代码。就可以跑了。刷新F5刷新了啊走。
18:01
看着images是不是2017。是不是二?六你看。对不对。这样的话,你看它下边可以放多少。65535个年呐,六万多年你肯定用不了啊,是不是它里边那最多就是一月二月一直到12月。他。也就是说2017里边会包含几个,最多包含12个。那它里边呢,最多包含31个。它里边呢,就可以包含的多了6535个。对不对,这是我们对于上传文件啊,分目录进行管理。诶,你看主要的API就用到这个东西了,创建目录。那这样的话,我们这个文件上传啊,就说到这里了,这个文件上传这个代码写到现在,你看看相对是不是比较复杂一些呀。
19:09
是不是比较复杂,其实啊,我们真正到工作中啊,这种用法并不多。因为什么我们到工作中啊,很多时候要用框架。框架。对于。框架里边对于文件上传的支持还是比较好的,不用写这么麻烦。一句话就搞定了。一句话就搞定了。OK了,这个就是原理性的东西,你知道就行了,给大家讲这么详细啊,这个东西讲这么详细,主要是让大家知道。如何阅读?我们。线上的这种文档,将来你要学习新的内容的时候,今天说你不会怎么办,诶看看人家给出这种文档。
20:02
这种API。这俩结合着。慢慢。学习新的内容,有些新的内容,那你可能是全国第一个在学习的。所以这种方法啊,就给大家说的这种学习的方法。Okay。
我来说两句