常用类:Date--DateFormat--SimpleDateFormat--File--包装类

这些常用类就不像字符串挖那么深了,只列列用法。

时间处理:

/**
* 时间处理类
* DateFormat 抽象类
* SimpleDateFormat 子类
*
* 父类的格式器不够灵活 尤其是在解析的时候
* 必须满足 yyyy-MM-dd HH:mm:ss 其中 - : 是核心 不能变
* 如果要灵活使用 必须靠子类
*/
public class TestFormatDate {
public static void main(String[] args) throws ParseException {
Date date = new Date();
System.out.println(date); /**
* 解决问题1
*/ // 得到 年月日的格式器 其实就是一个 子类的对象 然后调用 format 方法
String format = DateFormat.getDateInstance().format(date);
System.out.println(format); // 得到 时分秒的格式器 其实就是一个 子类的对象 然后调用 format 方法
format = DateFormat.getTimeInstance().format(date);
System.out.println(format); // 得到 年月日-时分秒的格式器 其实就是一个 子类的对象 然后调用 format 方法
format = DateFormat.getDateTimeInstance().format(date);
System.out.println(format); /**
* 解决问题2 难以计算毫秒 来获得指定时间的 Date 对象
*/
String str = "2000-1-1 12:12:13";
// 获得 年月日的格式器 然后把字符串解析成 Date 对象
Date parse = DateFormat.getDateInstance().parse(str);
Person person = new Person("铁柱",parse);
System.out.println(person); // 获得年月日 时分秒 的格式器 然后把字符串解析成 Date 对象
parse = DateFormat.getDateTimeInstance().parse(str);
person = new Person("铁柱",parse);
System.out.println(person); str = "12:13:14"; // 如果获得的是 时分秒格式器 那么字符串不能出现年月日
parse = DateFormat.getTimeInstance().parse(str);
person = new Person("铁柱",parse);
System.out.println(person); }
}

文件类:用法看API,放两个学习例子,模拟dir操作,递归删除文件夹(循环加栈删除)

模拟dir操作

/**
* 模拟 dos命令 dir命令
* 时间
* 目录 | 字节数
* 文件名字
* 文件计数 统计字节
* 目录计数 可用字节
*/
public static void DIR(File file){
if( !file.isDirectory() ){
System.out.println("不是目录");
return ;
} // 来到这里肯定是 目录 // 时间处理
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date date = null; // 文件目录 字节 计数
int fileSize = 0;
int dirSize = 0;
int lengthCount = 0 ; // 获得所有子文件对应的 file 对象
File[] files = file.listFiles();
// 遍历获得每一个
for (File f : files) { long time = f.lastModified();
date = new Date(time);
System.out.printf("%-21s",sdf.format(date)); String name = "";
if( f.isDirectory() ){
name = "<DIR>";
dirSize++;
}
System.out.printf("%-10s",name); String length = "";
if(f.isFile()){
length += f.length();
fileSize++;
lengthCount += f.length();
}
System.out.printf("%-10s",length); System.out.println(f.getName());
} System.out.println("\t\t\t"+fileSize+"个文件 共 "+lengthCount+" 字节");
System.out.println("\t\t\t"+dirSize+"个目录 "+file.getUsableSpace());
}

递归删除文件夹

/**
* 递归删除文件夹
* 该方法可以删除任意的 file 对象代表的文件
*/
public void delete(File file){
// 先判断是不是目录 如果是就删除其所有的子文件
// 所有的子文件删除完毕之后 再删自己
if( file.isDirectory()){
File[] files = file.listFiles();
for (File f : files) {
delete(f);
}
}
file.delete();// 删自己
}

非递归删除文件夹(文件模拟一个队列,文件夹模拟一个栈)

package sy180928;

import java.io.File;
import java.util.ArrayList; /**
* @author suyuan
*非递归删除文件夹
*/
public class FileDelStack
{ public static void main(String[] args)
{
File file=new File("E:\\sy\\test");
delete(file);
System.out.println("删除成功"); } public static void delete(File file)
{
ArrayList<File> filelist=new ArrayList();
ArrayList<File> dirList=new ArrayList();
if(file.isFile())
{
file.delete();
}
filelist.add(file);//是文件夹就压栈
while(filelist.size()>0)
{
File f=filelist.remove(0);//出队列
File[] listFiles = f.listFiles();
for (File file2 : listFiles)
{
if(file2.isFile())
{
file2.delete();
}
else
{
filelist.add(file2);//是文件夹就压栈
dirList.add(file2);
}
}
}
//只剩空文件夹了
System.out.println(dirList);
System.out.println(dirList.size());
for (int i=dirList.size()-1;i>=0;i--)
{
System.out.println(dirList.get(i)+" "+i);
dirList.get(i).delete();
}
System.out.println(dirList+"ddd");
file.delete();
} }

包装类是为了好放入集合,重点掌握拆箱,装箱。

  自动装箱 : 可以把基本数据类型 直接赋值给 其对应的包装类的引用
  自动拆箱 : 从对象状态 可以直接转换成 其对应的基本数据类型

大数据学习--day15(常用类:Date--DateFormat--SimpleDateFormat--File--包装类)的更多相关文章

  1. 大数据学习——linux常用命令(三)

    三 文件操作 1创建文件 touch somefile.txt 创建一个空文件somefile.txt > 重定向操作符 echo "woshiwoa"> some.t ...

  2. 大数据学习——linux常用命令(四)

    四 查到命令 1 查找可执行的命令所在的路径 which ls 查ls命令所在的路径 2 查找可执行的命令和帮助的位置 whereiis ls 3 从某个文件夹开始查找文件 find / -name ...

  3. 大数据学习——linux常用命令(一)

    一.基本日常操作命令 1 查看当前所在工作目录的全路径 pwd 2 查看当前系统的时间 date 设置时间,date -s"2018-11-12" 修改时间后,需要写入硬件bios ...

  4. 大数据学习——linux常用命令(五)

    1 挂载外部存储设备 可以挂载光盘.硬盘.磁带.光盘镜像文件等 1/ 挂载光驱 mkdir   /mnt/cdrom      创建一个目录,用来挂载 mount -t iso9660 -o ro / ...

  5. 大数据学习——linux常用命令(二)四

    系统管理操作 1 挂载外部存储设备 可以挂载光盘.硬盘.磁带.光盘镜像文件等 1/ 挂载光驱 mkdir   /mnt/cdrom      创建一个目录,用来挂载 mount -t iso9660 ...

  6. 大数据学习——linux常用命令(二)

    二.目录操作 1 查看目录信息 ls / 查看根目录下的文件信息 ls . 或者 ls ./查看当前目录下的文件信息 ls ../查看根目录下 ls /home/hadoop ls -l . 查看当前 ...

  7. 大数据学习之BigData常用算法和数据结构

    大数据学习之BigData常用算法和数据结构 1.Bloom Filter     由一个很长的二进制向量和一系列hash函数组成     优点:可以减少IO操作,省空间     缺点:不支持删除,有 ...

  8. 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端

    1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...

  9. 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)

    引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...

随机推荐

  1. 避免jar依赖冲突的一种办法

    java中的依赖冲突问题一直比较头疼,特别是做公用包给其他系统用的时候,现在都不敢引入太多的依赖,基本上每次都要帮别人解决依赖冲突的问题,非常麻烦. 特别是碰到一些老系统还不是用maven管理的,人家 ...

  2. 关于asp.net MVC3 ----@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

    1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:@Html.Partial 对应 @{Html.RenderPartia ...

  3. python之路——网络基础

    你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据,你要怎么做 ...

  4. 将NSString变成贝塞尔曲线

    将NSString变成贝塞尔曲线 https://github.com/aderussell/string-to-CGPathRef NSString中的字符串是可以通过CoreText框架将其转换成 ...

  5. Angular实现多标签页效果(路由重用)

    1.需求 做了几年的MES系统,从ASP.NET WebForm至MVC,系统决定了用户界面必须为标签页方式实现,因为用户在进行一项操作的时候很有可能会进行其它的操作,比如查询之类的.如果按MVC的方 ...

  6. TFS使用笔记

    TFS是用来存储文件的服务器,放置不同版本的文件.因此文件的数量和内容因版本不同而不同. 在Fig-00中,服务器和本地的对应文件夹Common下的因版本不一致,所以文件数量是不一致的. Fig-00 ...

  7. SQL Server系统常用存储过程

    SQL Server系统存储过程也是好几百个,算了,还是写几个常用的. 1.sp_help 查询表的信息 执行存储过程: sp_help Person 显示结果如下: 妈了个B,有了这张图,你还不懂怎 ...

  8. [T-ARA][지난 달력][旧挂历]

    歌词来源:http://music.163.com/#/song?id=29343994 作曲 : Rocoberry [作曲 : Rocoberry] [作曲 : Rocoberry] 作词 : R ...

  9. host 'xx' is not allowed to connect to this MySql server

    update mysql.user set host = '%' where user = 'root'; FLUSH PRIVILEGES; select * from mysql.user;

  10. Innodb_io_capacity 对于IO稳定性的一些研究

    背景:最近在做一台线上服务器IO负载情况的时候发现了以下现象: 24小时的IO_UTIL 的曲线看似风平浪静,毛刺较少 但当图片放大到半小时级别的时候发现IO_UTIL即磁盘使用率出现了规律性的波动, ...