Java:批量复制文件

问题

编写一个程序,将F:\\1目录下面的所有图片[.jpg结尾]复制到F:\\2下面.

有何不同

之前我自己也写过类似的代码,但这次不同的是,代码基本使用了JDK1.8和JDK1.7的API.实现起来逻辑和代码都比之前简单不少.

步骤还是类似:

  1. 遍历目录,取出文件名;
  2. 匹配后缀名是否一致;
  3. 进行复制操作.

java标志
image-2424

代码实现

PS:请使用JDK1.8及以上进行运行.

Java:计算区间日期

问题

计算2016-02-22 到 2017-02-22 的每周星期三 具体是哪一天

java标志
image-2422

实现

需使用JDK1.8或以上.

运行结果:

所有周三的日期,共有52天,具体如下:
2016-02-24
2016-03-02
2016-03-09
2016-03-16
2016-03-23
2016-03-30
2016-04-06
2016-04-13
2016-04-20
2016-04-27
2016-05-04
2016-05-11
2016-05-18
2016-05-25
2016-06-01
2016-06-08
2016-06-15
2016-06-22
2016-06-29
2016-07-06
2016-07-13
2016-07-20
2016-07-27
2016-08-03
2016-08-10
2016-08-17
2016-08-24
2016-08-31
2016-09-07
2016-09-14
2016-09-21
2016-09-28
2016-10-05
2016-10-12
2016-10-19
2016-10-26
2016-11-02
2016-11-09
2016-11-16
2016-11-23
2016-11-30
2016-12-07
2016-12-14
2016-12-21
2016-12-28
2017-01-04
2017-01-11
2017-01-18
2017-01-25
2017-02-01
2017-02-08
2017-02-15

Flask:在Centos上配置两个Flask项目

源于

一开始我是只有一个项目的,非常好配置,而且也简单。但是后来发现,又有一个新项目需要新增上去。结果配置搞了好几天,今天终于搞定。(在网上的提问

其实精髓很简单,配置两个类似的就行,端口,日志文件,项目路径分开就行。

在这里不谈如何安装环境,关于安装环境可以参考(地址)。

Python flask
image-2417

开始操作

这里使用:Nginx + Uwsgi + virtualenv 进行配置操作.

首先是要配置Nginx,那么安装好之后,Nginx一般是在/usr/local/nginx这个目录下面,配置文件则在/usr/local/nginx/conf下面,因为我们需要配置多个站点,因此需要新建/usr/local/nginx/conf/vhost目录,然后把相关文件放在这个目录下面即可.

首先看nginx.conf的文件[/usr/local/nginx/conf/nginx.conf]:
下面这个配置文件基本只是改动了几个地方,第一行需要注意,这是使用www用户进行操作.所以需要新建用户.另外就是
include /usr/local/nginx/conf/vhost/*.conf;很关键,这一行表示加载vhost目录下面所有conf结尾的文件(在Nginx上配置子站点就是这样操作的).

下面是子站点A的conf[目录:/usr/local/nginx/conf/vhost/A.conf]:

下面是子站点B的conf[目录:/usr/local/nginx/conf/vhost/B.conf]:

配置文件都搞定之后,新建/var/www/venv目录,使用mkdir /var/www/venv -p.之后virtualenv A 创建虚拟环境A,完成之后,virtualenv B创建虚拟环境B.都依次创建完之后,分别在项目根目录[就是A,B两个目录]里面新建一个main.py文件.

切换到A目录,使用cd A .

main.py[目录:/var/www/venv/A]:

之后需要创建一个xml配置文件,指出如何初始化A项目.
文件:app_config.xml[目录:/var/www/venv/A/]
下面的文件不能有空格,切记切记!!!

至此,A项目创建完成.

接着来B项目.切换到B目录,使用cd ../B

main.py[目录:/var/www/venv/B]:

之后需要创建一个xml配置文件,指出如何初始化B项目.
文件:app_config.xml[目录:/var/www/venv/B/]
下面的文件不能有空格,切记切记!!!

至此,B项目创建完成.

都搞定之后,可以写一个启动脚本.
如下[startserver.sh]:

之后使用chmod +x startserver.sh 即可启动.

总结

一共使用了如下目录或文件:

Nginx

服务器配置文件:
/usr/local/nginx/conf/nginx.conf
/usr/local/nginx/conf/vhost/A.conf
/usr/local/nginx/conf/vhost/B.conf

Flask

项目文件[项目中还有其它自动生成的文件,忽略不计]:
/var/www/venv/A/app_config.xml
/var/www/venv/A/main.py
/var/www/venv/B/main.py
/var/www/venv/B/app_config.xml

之后就是启动脚本了,可以放在你想放的地方,比如/pyscript/startserver.sh,到此,大功告成!

参考: