大数据学习--day15(常用类:Date--DateFormat--SimpleDateFormat--File--包装类)
常用类: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--包装类)的更多相关文章
- 大数据学习——linux常用命令(三)
三 文件操作 1创建文件 touch somefile.txt 创建一个空文件somefile.txt > 重定向操作符 echo "woshiwoa"> some.t ...
- 大数据学习——linux常用命令(四)
四 查到命令 1 查找可执行的命令所在的路径 which ls 查ls命令所在的路径 2 查找可执行的命令和帮助的位置 whereiis ls 3 从某个文件夹开始查找文件 find / -name ...
- 大数据学习——linux常用命令(一)
一.基本日常操作命令 1 查看当前所在工作目录的全路径 pwd 2 查看当前系统的时间 date 设置时间,date -s"2018-11-12" 修改时间后,需要写入硬件bios ...
- 大数据学习——linux常用命令(五)
1 挂载外部存储设备 可以挂载光盘.硬盘.磁带.光盘镜像文件等 1/ 挂载光驱 mkdir /mnt/cdrom 创建一个目录,用来挂载 mount -t iso9660 -o ro / ...
- 大数据学习——linux常用命令(二)四
系统管理操作 1 挂载外部存储设备 可以挂载光盘.硬盘.磁带.光盘镜像文件等 1/ 挂载光驱 mkdir /mnt/cdrom 创建一个目录,用来挂载 mount -t iso9660 ...
- 大数据学习——linux常用命令(二)
二.目录操作 1 查看目录信息 ls / 查看根目录下的文件信息 ls . 或者 ls ./查看当前目录下的文件信息 ls ../查看根目录下 ls /home/hadoop ls -l . 查看当前 ...
- 大数据学习之BigData常用算法和数据结构
大数据学习之BigData常用算法和数据结构 1.Bloom Filter 由一个很长的二进制向量和一系列hash函数组成 优点:可以减少IO操作,省空间 缺点:不支持删除,有 ...
- 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端
1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...
- 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)
引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...
随机推荐
- python中的特殊数据类型
一.python中的特殊数据类型 对于python,一切事物都是对象,对象基于类创建.像是“wangming”,38,[11,12,22]均可以视为对象,并且是根据不同的类生成的对象. 参照:http ...
- 有关从经典部署模型迁移到 Azure Resource Manager 部署模型的常见问题
此迁移计划是否影响 Azure 虚拟机上运行的任何现有服务或应用程序? 不可以. VM(经典)是公开上市的完全受支持的服务. 你可以继续使用这些资源来拓展你在 Azure 上的足迹. 如果我近期不打算 ...
- 面向对象进阶------>模块 json pickle hashlib
何为模块呢? 其实模块就是.py文件 python之所以好用就是模块多 模块分三种 : 内置模块 . 拓展模块.自定义模块. 现在我们来认识:内置模块中的 序列化模块和 hashlib 模块 1 ...
- 用setTimeout实现动态时钟的效果
1.获取到系统时间 2.获取到当地时间字符串 3.开启延时器,每一秒刷新一次时间 <!DOCTYPE html> <html> <head> <meta ch ...
- 数据库相关文章转载(2) MySQL自带的性能压力测试工具mysqlslap详解
PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用.其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一 ...
- C++课堂作业(2)
github的链接: https://github.com/deepYY/object-oriented/tree/master/PAT.1025 题目 给定一个常数K以及一个单链表L,请编写程序将L ...
- windows完全卸载office
运行文件O15CTRRemove.diagcab执行完全卸载. 文件下载地址:https://pan.baidu.com/s/1eSilUJS
- strerror的坑
最近写的一段代码,总是出core,精简了一下,稳定复现. #include <stdio.h> #include <errno.h> int main() { printf(& ...
- Java的Calendar类
通过Date类我们可以创建并格式化一个日期对象,但是如何才能设置和获取日期数据的特定部分呢?----Calendar类 Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,通过getIn ...
- The Struts dispatcher cannot be found. This is usually caused by using Struts
对于struts2中的问题: org.apache.jasper.JasperException: The Struts dispatcher cannot be found. This is usu ...