Java实例
一、Java目录操作
1.1、递归创建目录
package shili.file;
import java.io.File;
public class mkdir {
/*
* @date 2021.07.21
* 递归实现创建目录,路径,文件,文件夹
* 总结
* 创建过程非常慢
* */
public static void main(String[] args){
String direction = "E:\\C盘\\Users\\16402\\IdeaProjects\\Pratice\\src\\tmp";
File file = new File(direction);
boolean result1 = file.isDirectory();
boolean result = file.mkdirs();
System.out.println("Operation Status = " + result);
System.out.println("isExit Status ="+result1);
}
}
运行结果
Operation Status = false
isExit Status =true
1.2、删除目录
package shili.file;
import java.io.File;
/*
* @date 2021.07.21
* */
public class rmdir {
public static void main(String[] args) throws Exception{
String str = "E:\\C盘\\Users\\16402\\IdeaProjects\\Pratice\\src\\tmp";
System.out.println(deleteDir(new File(str)));
}
public static boolean deleteDir(File dir){
if(dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; ++i) {
boolean success = deleteDir
(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
if(dir.delete()){
System.out.println("目录已被删除!");
return true;
}else{
System.out.println("目录删除失败");
return false;
}
}
}
运行结果
目录已被删除!
true
1.3、判断目录是否为空
package shili.file;
import java.io.File;
public class isExitDir {
public static void main(String[] args){
String str = "E:\\C盘\\Users\\16402\\IdeaProjects\\Pratice\\src\\tmp";
File file = new File(str);
if(file.isDirectory()){
if(file.list().length > 0){
System.out.println("目录不为空");
}else {
System.out.println("目录为空");
}
}else {
System.out.println("不是一个目录!");
}
}
}
运行结果:
目录为空
1.4、在指定目录中查找文件
package shili.file;
import java.io.File;
import java.io.IOException;
/*
* @date2021.07.21
* 目的
* 打印当前目录以及里面的文件名字
* @method
* file[]
* */
public class printDirStru {
public static void main(String[] args) throws IOException {
String direction = "E:\\C盘\\Users\\16402\\IdeaProjects\\Pratice\\src\\tmp";
// 创建文件
File file3 = new File(direction+"\\实验3.txt");
showDir(1,new File(direction));
}
public static void showDir(int indent,File file) throws IOException{
for(int i = 0; i < indent;++i){
System.out.print('-');
}
System.out.println(file.getName());
if(file.isDirectory()){
File[] files = file.listFiles();
for(int i = 0; i < files.length;++i){
showDir(indent+4,files[i]);
}
}
}
}
运行结果:
新建 Microsoft Word 文档.docx
1.5、打印当前目录结构
package shili.file;
import java.io.File;
import java.io.IOException;
/*
* @date2021.07.21
* 目的
* 打印当前目录以及里面的文件名字
* @method
* file[]
* */
public class printDirStru {
public static void main(String[] args) throws IOException {
String direction = "E:\\C盘\\Users\\16402\\IdeaProjects\\Pratice\\src\\tmp";
// 创建文件
File file3 = new File(direction+"\\实验3.txt");
showDir(1,new File(direction));
}
public static void showDir(int indent,File file) throws IOException{
for(int i = 0; i < indent;++i){
System.out.print('-');
}
System.out.println(file.getName());
if(file.isDirectory()){
File[] files = file.listFiles();
for(int i = 0; i < files.length;++i){
showDir(indent+4,files[i]);
}
}
}
}
运行结果:
-tmp
-----新建 Microsoft Word 文档.docx
二、Java文件操作
2.1、创建文件并读入
package shili.dir;
import java.io.*;
public class writeFile {
static String path = "E:\\C盘\\Users\\16402\\IdeaProjects\\Pratice\\src\\file\\";
static String fileTemp;
public static void main(String[] args){
try{
File file = new File(path+"runoob.log");
if(file.isFile()){
System.out.println(file.getName()+"存在");
}else{
System.out.println("不存在+\n+正在创建");
file.createNewFile();
System.out.println(file.getName()+" "+file.isFile());
}
System.out.println("该写入为,将之前的内容读取保存的基础上写,而是抛弃之前的");
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write("菜鸟教程\n");
out.write("你好\n");
out.close();
System.out.println("读取文件里面的内容");
BufferedReader in = new BufferedReader(new FileReader(file));
String str;
while((str = in.readLine()) != null){
System.out.println(str);
}
}catch (Exception e){
System.out.println(e);
}
}
}
运行结果:
runoob.log存在
菜鸟教程+
你好
个人总结:
Tip 2021.07.21
一般来说目录与文件都有用到file
然后file有很多操作都是关于目录和文件的
然后关于目录的就是:
创建(有点像linux指令):mkdir()、isDirectory()、
关于文件的就是:
创建:createNewFile()、
是否存在:isFile()、
然后就是读取、写入文件需要流另一个文件操作
BufferedWriter、BufferedRead
俩个类
创建一个FileRead、或者FileWriter然后放入BufferedWriter、BufferedRead俩个流里。
三、Java日期操作
3.1、获取当前并格式化时间
package shili.date;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
* @date 2021.07.21
* */
public class dateDemo {
public static void main(String[] args){
Date date = new Date();//获取当前时间
String str = "yyyy-MM-dd hh:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(str);
// 如果没有给他格式,他就会对应自己默认的格式
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
System.out.println("今天是"+simpleDateFormat.format(date));
}
}
运行结果:
3.2、 获取年份、月份等
package shili.date;
import java.util.Calendar;
public class calendarDemo {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DATE);
System.out.println("当前日期"+day);
int Month = cal.get(Calendar.MONTH)+ 1;
//日期要+1,它这里显示前一个月的
System.out.println("当前月份"+Month);
int year = cal.get(Calendar.YEAR);
System.out.println("当前年份"+year);
int dow = cal.get(Calendar.DAY_OF_WEEK);
System.out.println("一周的第几天: " + dow); // 星期日为一周的第一天输出为 1,星期一输出为 2,以此类推
int dom = cal.get(Calendar.DAY_OF_MONTH);
System.out.println("一月中的第几天: " + dom);
int doy = cal.get(Calendar.DAY_OF_YEAR);
System.out.println("一年的第几天: " + doy);
}
}
运行结果
当前日期21
当前月份7
当前年份2021
一周的第几天: 4
一月中的第几天: 21
一年的第几天: 202Process finished with exit code 0
3.3、时间戳转换成时间
package shili.date;import java.text.SimpleDateFormat;import java.util.Date;/** 通过时间戳获取时间并,格式化* */public class TimeMillisDemo { public static void main(String[] args){ Long timeStamp = System.currentTimeMillis(); //获取当前时间戳 System.out.println("时间戳为:"+timeStamp); String str = "yyyy-MM-dd hh:mm:ss"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(str); System.out.println(String.valueOf(timeStamp)); System.out.println(Long.parseLong(String.valueOf(timeStamp))); Date date = new Date(Long.parseLong(String.valueOf(timeStamp))); System.out.println(simpleDateFormat.format(date)); System.out.println(simpleDateFormat.format(new Date(timeStamp))); }}
运行结果:
时间戳为:1626854960572
1626854960572
1626854960572
2021-07-21 04:09:20
2021-07-21 04:09:20Process finished with exit code 0
(主要通过菜鸟编程,以及相关书籍)
待续未完…