Java开发从入门到精通(二十):Java的面向对象编程OOP:File文件操作的增删改查
Java大数据开发和安全开发
- (一)Java的文件操作
- 1.1 Java的File和IO流概念
- 1.2 File类的使用
- 1.2.1 创建File类的对象
- 1.2.2 常用方法1:判断文件类型、获取文件信息
- 1.2.3 常用方法2:创建文件、删除文件
- 1.2.4 常用方法3:遍历文件夹
- 1.3 java File的方法递归
- 1.3.1 什么是方法递归
- 1.3.1 方法递归的案列
- 1.3.1.1 案例导学-计算n的阶乘
- 1.3.1.2 递归算法三要素
- 1.3.1.3 猴子吃桃问题
- 1.3.1.4 递归查询目录下的指定文件
- 1.3.1.5 递归删除目录下的非空文件
- 1.3.1.6 啤酒问题
- 1.4 简单文件操作的案例
(一)Java的文件操作
1.1 Java的File和IO流概念
目前我们所讲的存储数据的方案都是没有保存的数据
想要长久保存数据
java提供了File类来操作文件
- File是java.io.包下的类, File类的对象,用于代表当前操作系统的文件(可以是文件、或文件夹)
- 提供了多种操作文件的方法 创建 删除 修改等等…
注意:File类只能对文件本身进行操作,不能读写文件里面存储的数据
IO流
由于File类只能对文件本身进行操作,不能读写文件里面存储的数据,所以java提供了IO流用于读写数据的(可以读写文件,或网络中的数据…)
1.2 File类的使用
1.2.1 创建File类的对象
三种不同的系统路径分隔符写法
- 1.正斜杠/写法(推荐)
- 2.反斜杠写法 需要添加转义字符\,防止类似\n被转换成换行符
- 3.函数File.separator 获取系统指定的分隔符
File f1 = new File("D:/resource/ab.txt");File f2 = new File("D:\\resourcellab.txt");File f3 = new File( "D:"+ File.separator +"resource" + File.separator + "ab.txt");
绝对路径:是一个完整的、明确指定文件或目录位置的路径,从根目录开始,包含了所有所需的目录层次结构
示例:/C:/path/to/file.txt 中,/C:/表示根目录,path/to/是后续的目录层次,最后指定了具体的文件file.txt。
相对路径:相对于当前工作目录或其他特定基准目录的路径,不包含从根目录开始的完整路径信息
示例:在/project目录下,subdirectory/file.txt就是相对路径
// 绝对路径:带盘符的File f6 = new File("D:\\codelljavasepromax|lfile-io-appl\\src itheima.txt");// 相对路径(重点):不带盘符,默认是直接去工程下寻找文件的。File f7 = new File( "file-io-applsrcllitheima.txt");System.out.println(f4.length());
最后创建File类的示例代码如下:
import java.io.File;public class FileTest {public static void main(String[] args) {// 1、创建一个File对象,指代某个具体的文件。// 路径分隔符File f1 = new File("D:/resource/ab.txt");File f2 = new File("D:\\resourcellab.txt");File f3 = new File( "D:"+ File.separator +"resource" + File.separator + "ab.txt");System.out.println(f1.length());//文件大小//File对象可以指代一个目录File f4 = new File("D:/resource"); //只是目录文件夹本身,不包含目录里的其他文件System.out.println(f2.length());// 注意:File对象可以指代一个不存在的文件路径File f5 =new File("D:/resource/aaaa.txt");System.out.println(f3.length());System.out.println(f3.exists());//false// 我现在要定位的文件是在模块中,应该怎么定位呢?// 绝对路径:带盘符的File f6 = new File("D:\\codelljavasepromax|lfile-io-appl\\src itheima.txt");// 相对路径(重点):不带盘符,默认是直接去工程下寻找文件的。File f7 = new File( "file-io-applsrcllitheima.txt");System.out.println(f4.length());}
}
1.2.2 常用方法1:判断文件类型、获取文件信息
- File提供的判断文件类型、获取文件信息功能
import java.io.File;
import java.text.SimpleDateFormat;public class FileTest {public static void main(String[] args) {// 1.创建文件对象,指代某个文件File f1 = new File( "D:/resource/ab.txt");// 2、public boolean exists():判断当前文件对象,对应的文件路径是否存在,存在返回true.System.out.println(f1.exists());// 3、public boolean isFile(): 判断当前文件对象指代的是否是文件,是文件返回true,反之。System.out.println(f1.isFile());// 4、public boolean isDirectory() : 判断当前文件对象指代的是否是文件夹,是文件夹返回true,反之。System.out.println(f1.isDirectory());// 5.public string getName():获取文件的名称(包含后缀)System.out.println(f1.getName());// 6.public long length():获取文件的大小,返回字节个数System.out.println(f1.length());// 7.public long lastModified():获取文件的最后修改时间。System.out.println(f1.lastModified());long time = f1.lastModified();SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");System.out.println(sdf.format(time));// 8.public String getPath():获取创建文件对象时,使用的路径File f2 = new File( "D:\\resource\\ab.txt");File f3 = new File( "file-io-app\\src\\itheima.txt");System.out.println(f2.getPath());System.out.println(f3.getPath());// 9.public String getAbsolutePath():获取绝对路径System.out.println(f1.getAbsolutePath());System.out.println(f2.getAbsolutePath());System.out.println(f3.getAbsolutePath());}
}
1.2.3 常用方法2:创建文件、删除文件
- File类创建文件的功能
- File类删除文件的功能
**注意:delete方法默认只能删除文件和空文件夹,删除后的文件不会进入回收站**
- 创建和删除文件方法代码示例
import java.io.File;
import java.io.IOException;public class FileTest {public static void main(String[] args) throws Exception { //alt+回车键抛出异常// 1、public boolean createNewFile():创建一个新文件(文件内容为空),创建成功返回true,反之。File f1 = new File( "D:/resource/itheima2.txt");System.out.println(f1.createNewFile()); //目录存在就会创建失败,不存在则创建成功 // 2、public boolean mkdir():用于创建文件夹,注意:只能创建一级文件夹File f2 = new File( "D:/resource/aaa");System.out.println(f2.mkdir());// 3、public boolean mkdirs():用于创建文件夹,注意:可以创建多级文件夹File f3 = new File( "D:/resource/bbb/ccc/ddd/eee/fff/ggg");System.out.println(f3.mkdirs());// 4、public boolean delete():删除文件,或者空文件,注意:不能删除非空文件夹。System.out.println(f1.delete());System.out.println(f2.delete());File f4= new File( "D:/resource");System.out.println(f4.delete()); //false 不能删除非空文件夹}
}
1.2.4 常用方法3:遍历文件夹
- File类提供的遍历文件夹的功能
- 遍历文件夹方法代码示例
import java.io.File;public class FileTest {public static void main(String[] args) {// 1、public string[] list():获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回。File f1 = new File( "D:/python27");String[] names = f1.list();for(String name :names) {System.out.println(name);}// 2、public File[] listFiles():(重点)获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回(重点)File[] files = f1.listFiles();for (File file :files) {System.out.println(file.getAbsolutePath());}}
}
使用listFiles方法时的注意事项
- 当主调是文件,或者路径不存在时,返回null
- 当主调是空文件夹时,这回一个长度为0的数组
当主调是一个有内容的文件夹时,将里面所有一级文件和文件夹的路径放在File数组中返回
- 当主调是一个文件夹,且里面有隐藏文件时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件
- 当主调是一个文件夹,但是没有权限访问该文件夹时,返回null
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Arrays;public class FileTest {public static void main(String[] args) {// 当主调是文件返回nullFile f= new File( "D:/resource/ab.txt");File[] files = f.listFiles();System.out.println(files);//当主调是路径不存在时,返回nullFile f1 = new File( "D:/resource1");File[] files1 = f.listFiles();System.out.println(files1);// 当主调是空文件夹时,返回一个长度为0的数组File f2 = new File( "D:/resource/aaa");File[] files2 = f.listFiles();System.out.println(Arrays.toString(files2)); }
}
null
null
[]
1.3 java File的方法递归
1.3.1 什么是方法递归
- 算法递归是一种在程序设计语言中广泛应用
- 从形式上说:方法调用自身的形式称为方法递归(recursion)
递归的形式
- 直接递归:方法自己调用自己。
- 间接递归:方法调用其他方法,其他方法又回调方法自己
使用方法递归时需要注意的问题:
- 递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出错误
public class FileTest {public static void main(String[] args) {// 目标:改变某个文件夹下视频的序号,要求从19开始。test1(); //出现栈溢出的StackOverflowError错误}// 直接方法递归public static void test1(){System.out.println("----test1---");test1();// 直接方法递归 }// 间接方法递归public static void test2(){System.out.println("---test2---");test3();}public static void test3(){test2();// 间接递归}
}
1.3.1 方法递归的案列
1.3.1.1 案例导学-计算n的阶乘
需求
- 计算n的阶乘,5的阶乘=1*2*3*4*5;6的阶乘=1*2*3*4*5*6
分析
- 假如我们认为存在一个公式是f(n)=1*2*3*4*5*6*7*…(n-1)*n;
- 那么公式等价形式就是:f(n)=f(n-1)*n
- 如果求的是 1-5的阶乘 的结果,我们手工应该应该如何应用上述公式计算。
f(5)= f(4) *5
f(4)= f(3) *4
f(3)= f(2) *3
f(2)= f(1) *2
f(1)= 1
public class FileTest {public static void main(String[] args) {// 目标:改变某个文件夹下视频的序号,要求从19开始。System.out.println(f(5));}public static int f(int n) {// 终结点if (n == 1) {return 1;} else {return f(n - 1) * n;}}
}
120
递归求阶乘的执行流程
1.3.1.2 递归算法三要素
- 递归的公式:f(n)= f(n-1)*n;
- 递归的终结点:f(1)
- 递归的方向必须走向终结点:
f(5)= f(4)*5
f(4)= f(3)4
f(3)= f(2) 3
f(2)= f(1)*2
f(1)= 1
1.3.1.3 猴子吃桃问题
- 猴子第一天摘下若干桃子,当即吃了一半,觉得好不过瘾,于是又多吃了一个
- 第二天又吃了前天剩余桃子数量的一半,觉得好不过瘾,于是又多吃了一个
- 以后每天都是吃前天剩余桃子数量的一半,觉得好不过瘾,又多吃了一个
- 等到第10天的时候发现桃子只有1个了
需求:
- 请问猴子第一天摘了多少个桃子?
public class FileTest {public static void main(String[] args) {// 目标:猴子吃桃问题// f(10) = 1 终结点// 公式: f(x) - f(x)/2-1 = f(x + 1)// 变形:2f(x) - f(x) - 2 = 2f(x+1)// 变形2:f(x)= 2 * f(x +1) + 2// 求f(1)=?System.out.println(f(1));System.out.println(f(2));System.out.println(f(3));}public static int f(int x) {if (x == 10) {return 1;} else {return 2 * f(x + 1) + 2;}}
}
1534
766
382
1.3.1.4 递归查询目录下的指定文件
import java.io.File;public class FileTest {public static void main(String[] args) throws Exception {System.out.println("开始搜索文件...");searchFile(new File("D:/"),"python2.exe");System.out.println("搜索结束...");}/*** 去目录下搜索某个文件* @param dir 目录* @param fileName 要搜索的文件名称*/public static void searchFile(File dir, String fileName) throws Exception {System.out.println("正在搜索目录:" + dir.getAbsolutePath());// 1、把非法的情况都拦截住if(dir == null || !dir.exists() || dir.isFile()){System.out.println("无法搜索,目录无效");return;// 代表无法搜索}// 2、dir 不是 null, 存在,一定是目录对象。// 获取当前目录下的全部一级文件对象。File[] files = dir.listFiles();System.out.println("找到 " + files.length + " 个一级文件");// 3、判断当前目录下是否存在一级文件对象,以及是否可以拿到一级文件对象。if(files != null && files.length >0) {// 4、遍历全部一级文件对象。for (File f : files) {//5、判断文件是否是文件,还是文件夹if (f.isFile()) {// 是文件,判断这个文件名是否是我们要找的if (f.getName().contains(fileName)) {System.out.println("找到了:" + f.getAbsolutePath());Runtime runtime =Runtime.getRuntime();runtime.exec(f.getAbsolutePath());} else {// 是文件夹,继续重复这个过程(递归)System.out.println("正在搜索子目录:" + f.getAbsolutePath());searchFile(f, fileName);}}}}}
}
1.3.1.5 递归删除目录下的非空文件
import java.io.File;public class FileTest1 {public static void main(String[] args) {// 目标:删除非空文件夹。独立功能独立成方法。File dir = new File("D:\\resource");deleteDir(dir);}public static void deleteDir(File dir){if (dir == null || !dir.exists()){return;}if (dir.isFile()){dir.delete();}// 1、dir存在且是文件夹。拿里面的一级文件对象File[] files = dir.listFiles();if (files ==null){return;}if(files.length ==0){dir.delete();return;}// 2、这是一个有内容的文件夹 ,干掉里面的内容,再干掉自己。for (File file : files) {if(file.isFile()){dir.delete();}else {deleteDir(file);}}dir.delete();}
}
1.3.1.6 啤酒问题
- 啤酒2元一瓶,4个盖子可以换一瓶,2个空瓶可以换一瓶,请问10元可以喝多少瓶?
public class FileTest2 {private static int totalNumber;private static int lastCoverNumber;private static int lastBottleNumber;public static void main(String[] args) {// 啤酒问题:啤酒2元一瓶,4个盖子可以换一瓶,2个空瓶可以换一瓶,请问10元可以喝多少瓶?buy(10);}private static void buy(int money){// 1、先买了再说int buyNumber =money/2;totalNumber += buyNumber;// 2、把盖子和瓶子换算成钱继续买// 计算本轮总的盖子和瓶子数int allBottleNumber =buyNumber +lastBottleNumber;int allCoverNumber =buyNumber+lastCoverNumber;int allMoney =0;if(allBottleNumber >= 2) {allMoney += (allBottleNumber / 2) * 2;}lastBottleNumber = allBottleNumber % 2;if(allCoverNumber>=4) {allMoney += (allCoverNumber / 4) * 2;}lastCoverNumber = allCoverNumber%4;if(allMoney >=2){buy(allMoney);}}
}
总数:15
剩余盖子数:3
剩余瓶子数:1
1.4 简单文件操作的案例
目标:
改变某个文件夹下视频的序号,要求从19开始。
import java.io.File;public class FileTest {public static void main(String[] args) {// 目标:改变某个文件夹下视频的序号,要求从19开始。File dir = new File( "E:\\磊哥面授-黄埔一期\\Java从入门至大牛课程\\day02-面向对象高级部分\\视频");//1、拿到下面全部的视频,一级文件对象File[] videos = dir.listFiles();// 2、一个一个的找for(File video: videos) {//3、拿到它的名字,改成新名字String name = video.getName();// name =“10、多态、继承....10String index = name.substring(0, name.indexOf("、"));String lastName = name.substring(name.indexOf("、"));String newName = (Integer.valueOf(index) + 18) + lastName;// 4、正式改名video.renameTo(new File(dir, newName));}}
}
相关文章:
Java开发从入门到精通(二十):Java的面向对象编程OOP:File文件操作的增删改查
Java大数据开发和安全开发 (一)Java的文件操作1.1 Java的File和IO流概念1.2 File类的使用1.2.1 创建File类的对象1.2.2 常用方法1:判断文件类型、获取文件信息1.2.3 常用方法2:创建文件、删除文件1.2.4 常用方法3:遍历文件夹 1.3 java File的方法递归1.3…...
10.list的模拟实现(普通迭代器和const迭代器的类模板)
1. list的介绍及使用 1.1 list的介绍 list的文档介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过…...
【电控笔记5】电流环速度环三环参数整定
旋转坐标系下的电压方程,由id和iq计算出ud和uq Lq:q轴电感 Ld:d轴电感 输入是电流,输出是电压? 内嵌式pmsm(ipmsm)模型建立: 其中: λf是转子磁场在定子绕组所产生的磁通链,为一常数,在psms中转子磁场非常稳定几乎不变。 ipmsm转矩方程式: 对永磁同步马达而言,使…...
AI克隆语音(基于GPT-SoVITS)
概述 使用GPT-SoVITS训练声音模型,实现文本转语音功能。可以模拟出语气,语速。如果数据质量足够高,可以达到非常相似的结果。相比于So-VITS-SVC需要的显卡配置更低,数据集更小(我的笔记本NVIDIA GeForce RTX 4050 Lap…...
小蚕爬树问题
小蚕爬树问题 问题描述: 编写一个函数 int day(int k,int m,int n),其功能是:返回小蚕需要多少天才能爬到树顶(树高 k 厘米,小蚕每天白天向上爬 m 厘米,每天晚上下滑 n 厘米,爬到树顶后不再下滑࿰…...
科研学习|科研软件——如何使用SmartPLS软件进行结构方程建模
SmartPLS是一种用于结构方程建模(SEM)的软件,它可以用于定量研究,尤其是在商业和社会科学领域中,如市场研究、管理研究、心理学研究等。 一、准备数据 在使用SmartPLS之前,您需要准备一个符合要求的数据集。…...
实用工具系列-ADB使用方式
作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来࿰…...
计算机网络书籍--《网络是怎样连接的》阅读笔记
第一章 浏览器生成信息 1.1 生成HTTP请求信息 1.1.1 URL Uniform Resource Locator, 统一资源定位符。就是网址。 不同的URL能够用来判断使用哪种功能来访问相应的数据,比如访问Web服务器就要用”http:”,而访问FTP服务器用”ftp:”。 FTPÿ…...
antd+vue——datepicker日期控件——禁用日期功能
需求:今天之前的日期禁用 <a-date-pickerv-model.trim"formNE.deliveryTime":disabled-date"disabledDate"valueFormat"YYYY-MM-DD"allowClearstyle"width: 100%" />禁用日期的范围: //时间范围 disab…...
技术分享 | Appium 用例录制
下载及安装 下载地址: github.com/appium/appi… 下载对应系统的 Appium 版本,安装完成之后,点击 “Start Server”,就启动了 Appium Server。 在启动成功页面点击右上角的放大镜,进入到创建 Session 页面。配置好…...
[蓝桥杯 2018 省 A] 付账问题
【蓝桥杯】付账问题 [蓝桥杯 2018 省 A] 付账问题 题目描述 几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。 现在有 n n n 个人出去吃饭,他们总共消费了 S S S 元。其中第 i i i 个人带了 a i a_i ai 元。幸运的是&#…...
设计模式|装饰器模式(Decorator Pattern)
文章目录 结构优缺点优点缺点适用场景示例装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许在不改变原始对象的基础上,动态地给对象添加新的功能或责任。这种模式是通过创建一个包装对象,也就是装饰器,来包裹真实的对象,然后在装饰器中添加新的行为或功能。这…...
发作性睡病有性别差异吗?
发作性睡病是一种特殊的睡眠障碍,以不可控制的嗜睡、猝倒发作、睡眠瘫痪、入睡前幻觉以及夜间睡眠紊乱为主要临床特点。关于发作性睡病是否存在性别差异,不同的研究和报道给出了不同的结论。 一方面,从生理角度来看,男性和女性在…...
ppt从零基础到高手【办公】
第一章:文字排版篇01演示文稿内容基密02文字操作规范03文字排版处理04复习&作业解析第二章:图形图片图表篇05图形化表达06图片艺术化07轻松玩转图表08高效工具&母版统一管理09复习&作业解析10轻松一刻-文字图形小技巧速学第三章:…...
文件上传下载
文章目录 文件上传下载文件上传文件下载 文件上传下载 HTTP请求会包含一个请求头,其中"Content-Type"字段告诉服务器正在发送什么类型的数据。根据发送的数据类型,浏览器和服务器会采取适应的处理方式。 "multipart/form-data"是一…...
C++11 新特性:新增算法
C11 在标准库中引入了一系列新的算法,这些新增的算法使我们的代码写起来更简洁方便。 下面是 C11 中新增加的一些重要算法的简要描述和使用方法: 1、非修改序列操作 std::all_of:检查范围内的所有元素是否都满足指定的谓词。std::any_of&a…...
c/c++普通for循环学习
学习一下 for 循环的几种不同方式,了解一下原理及差异 完整的测试代码参考 GitHub :for 循环测试代码 1 常用形态 对于 for 循环来说,最常用的形态如下 for (表达式1; 表达式2; 表达式3) {// code }流程图如下: 编写测试代码…...
操作系统组成部分
从1946年诞生第一台电子计算机。 冯诺依曼结构 冯诺依曼是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。 常见的操作系统有三种类型 单用户单任务操作系统:只支持一个用户和一个任务的执行,如DOS;单用…...
深入理解DES算法:原理、实现与应用
title: 深入理解DES算法:原理、实现与应用 date: 2024/4/14 21:30:21 updated: 2024/4/14 21:30:21 tags: DES加密对称加密分组密码密钥管理S盒P盒安全性分析替代算法 DES算法简介 历史 DES(Data Encryption Standard)算法是由IBM研发&…...
# 达梦sql查询 Sql 优化
达梦sql查询 Sql 优化 文章目录 达梦sql查询 Sql 优化注意点测试数据单表查询 Sort 语句优化优化过程 多表关联SORT 优化函数索引的使用 注意点 关于优化过程中工具的选用,推荐使用自带的DM Manage,其它工具在查看执行计划等时候不明确在执行计划中命中…...
Linux下SPI驱动:SPI设备驱动简介
一. 简介 Linux下的SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是 SOC的 SPI 控制器接口,SPI设备驱动也就是所操作的SPI设备的驱动。 本文来学习一下Linux下SPI设备驱动。 二. Linux下SPI驱动:SP…...
【简明图文教程】Node.js的下载、安装、环境配置及测试
文章目录 前言下载Node.js安装Node.js配置Node.js配置环境变量测试后言 前言 本教程适用于小白第一次从零开始进行Node.js的下载、安装、环境配置及测试。 如果你之前已经安装过了Node.js或删除掉了Node.js想重新安装,需要先参考以下博客进行处理后,再根…...
共模电感饱和与哪些参数有关?这些参数是如何影响共模电感的?
在做一个变频器项目,遇到一个问题,在30Hz重载超过一定1小时,CE测试结果超出限制,查找原因最终发现EMI filter内的共模电感加热,fail现象可以复现。最终增大Y电容把问题解决了。由此问题引申出一个问题,到底…...
儿童护眼台灯怎么选?五款必选的高口碑护眼台灯推荐
儿童台灯,想必大家都不会陌生了,是一种学生频繁使用的小灯具,一般指放在桌面用的有底座的电灯。随着近年来儿童青少年的视力急速下滑,很多家长都会选择给孩子选择一款合适的护眼台灯,以便孩子夜晚学习能有个好的照明环…...
前端小技巧之轮播图
文章目录 功能htmlcssjavaScript图片 设置了一点小难度,不理解的话,是不能套用的哦!!! (下方的圆圈与图片数量不统一,而且宽度是固定的) 下次写一些直接套用的,不整这些麻…...
手动实现简易版RPC(上)
手动实现简易版RPC(上) 前言 什么是RPC?它的原理是什么?它有什么特点?如果让你实现一个RPC框架,你会如何是实现?带着这些问题,开始今天的学习。 本文主要介绍RPC概述以及一些关于RPC的知识,为…...
大语言模型总结整理(不定期更新)
《【快捷部署】016_Ollama(CPU only版)》 介绍了如何一键快捷部署Ollama,今天就来看一下受欢迎的模型。 模型简介gemmaGemma是由谷歌及其DeepMind团队开发的一个新的开放模型。参数:2B(1.6GB)、7Bÿ…...
关于npm和yarn的使用(自己的问题记录)
目录 一 npm 和 yarn 的区别 二 npm 和 yarn 常用命令对比 1. 初始化项目 2. 安装所有依赖包 3. 安装某个依赖包 4.安装某个版本的依赖包 5. 更新依赖包 5. 移除依赖包 三 package.json中 devDependencies 和 dependencies 的区别。 四 npm安装包时,…...
Web端Excel的导入导出Demo
📚目录 📚简介:✨代码的构建:💭Web端接口Excel操作🚀下载接口🚀导入读取数据接口 🏡本地Excel文件操作⚡导出数据🌈导入读取数据 📚简介: 使用阿里巴巴开源组件Easy Exce…...
Java日期正则表达式(附Demo)
目录 前言1. 基本知识2. Demo 前言 对于正则匹配,在项目实战中运用比较广泛 原先写过一版Python相关的:ip和端口号的正则表达式 1. 基本知识 对于日期的正则相对比较简单 以下是一些常见的日期格式及其对应的正则表达式示例: 年-月-日&a…...
web网站建设与计划论文/大连网站优化
点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!本文授权转载自 CSDN 与言则整理圣诞将至,还不赶快微信官方 求顶圣诞帽~~点开朋友圈,你会发现许多好友的头像,都戴着一顶红色的圣诞帽&#x…...
阿克苏网站建设优化/品牌策划与推广方案
LayUI tab选项卡 分页展示 实现 Tab选项卡切换显示对应数据 要求:实现tab选项卡改变的同时展示数据也跟着改变 实现条件: 1、选项卡【官网 – 文档/示例 – 页面元素 – 选项卡】 2、数据表格【官网 – 文档/示例 – 内置模块 – 数据表格】 3、分页【官…...
创造与魔法官方网站-做自己喜欢的事/北京网
目录 文档用途 详细信息 文档用途 本文介绍向PostgreSQL中加载数据的几种方法。 详细信息 1.服务器端 1.1 COPY/COPY FROM PROGRAM COPY用于在PostgreSQL表和标准文件系统文件之间移动数据。COPY TO把一个表的内容复制到一个文件,而COPY FROM则从一个文件复…...
html网站标题怎么做的/排名优化工具下载
冒泡法 第1趟:依次比较0和1、1和2、2和3...n-2和n-1索引处的元素,发现前面的大于后面的,就交换它们,这样一趟下来,最大的…...
建设银行交学费网站2018/seo推广优化公司哪家好
scrollLeft:获取匹配元素集合中第一个元素的滚动条的当前水平位置。如果滚动条位于最左边,或者元素不可滚动,则该值为0。当直接调用animate或使用动画属性时,如果元素不可见,scrollLeft将不起作用。可以接受一个参数用…...
wordpress二级菜单排列/如何做一个网页
写在开头博主最近在升级博客插件时,测试添加评论会出现该错误。主要表现在升级到 PHP 7.1 之后,经常收到 A non-numeric value encountered 的 warning 信息。比如下面这段代码就会出现警告信息:$a 123a;$b b456;echo $a$b;解决方法A non-n…...