当前位置: 首页 > news >正文

【JavaEE初阶系列】——文件操作 IO 之 文件系统操作

目录

📝认识文件

🚩树型结构组织 和 目录

🎈绝对路径和相对路径

🚩文件类型

📝文件系统操作

🎈File 概述

🎈File类的使用

1. 绝对路径 vs 相对路径

2. 路径分隔符

3. 静态成员变量

4. 常用构造器

5. 常用方法

5.1 获取功能

5.1.1 getParent()

 5.1.2 getName()

5.1.3 getPath()

5.1.4 getAbsolutePath()和getCanonicalPath()

5.2判断功能

5.2.1 exists()

5.2.2 isDirectory()和isFile()

5.2.3 canRead()和canWrite() 以及isHidden()

 5.3 创建功能

5.3.1  createNewFile()

5.3.2  mkdir()和mkdirs()

5.4 删除功能

5.4.1 delete()

5.4.2 deleteOnExit() 

5.5 查看功能

5.5.1 list() 

5.5.2 listFiles() 

5.6 更改功能 

5.6.1 renameTo()

📝强化练习

🎈 显示文件及文件夹内容

🎈统计文件夹大小


📝认识文件

所谓的"文件"是一个广义的概念,可以代表很多的东西。

操作系统里,会把很多的 硬件设备 和 软件资源 都抽象成 "文件",统一进行管理。

但是大部分情况下,谈到的文件,都是指硬盘的文件。

文件就相当于是针对 "硬盘" 数据的一种抽象。

我们先来认识狭义上的文件 (file) 。针对硬盘这种持久化存储的 I/O 设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念,就类似办公桌上的一份份真实的文件一般。
文件除了有数据内容之外,还有一部分信息,例如文件名、文件类型、文件大小等并不作为文件的数据而存在,我们把这部分信息可以视为文件的元信息。
每个文件都有属于它自己的,不是内容的一些信息。

🚩树型结构组织 和 目录

同时,随着文件越来越多,对文件的系统管理也被提上了日程,如何进行文件的组织呢,一种合乎自然的想法出现了,就是按照 层级结构进行组织 —— 也就是我们数据结构中学习过的树形结构。 这样,一种专门用来存放管理信息的特殊文件诞生了,也就是我们平时所谓文件夹(folder) 或者目录 (directory) 的概念
对于我们很多人来说说“文件”,但是对于程序员来说"目录(Directory)",这才是专业的叫法。
我们所看到的(此电脑)标识其实是目录树的根节点。此电脑下面有CDE盘。总共是500G硬盘。(每个电脑分布的盘是不一样的,有些只有一个C盘,有些只有一个D盘等等)。

将目录点进去,可以看到还包含其他的目录/文件。

这样我们可以使用 目录的 层次结构来描述,文件所在的为止 “路径”。

D:\git\java_repository 形如这样的一个字符串,体现出了当前文件在哪个目录中。可以通过文件路径,来确定当前文件具体所在的位置了。


🎈绝对路径和相对路径

  • 绝对路径:是以C: D: 盘符开头的,这种路径称为"绝对路径"
  • 相对路径:需要先指定一个目录,作为基准目录,从基准目录出发,看看沿着啥样的路线能够找到指定文件,此时涉及到的路径就是“相对路径“,往往是以.(当前目录)或者..(当前目录的上一级)开头的

1》假设当前的基准目录就是  D:\git\乐乐的二号仓库

     .\test.txt   (./表示当前目录)

2》假设当前的基准目录是  D:\git

    .\乐乐的二号仓库\test.txt     (在下一路径的里面)

 3》假设当前的基准目录是 D:\git\乐乐的二号仓库\111

此时的test.txt文本在111目录的上一级:    ..\test.txt    (..\表示上一个路径)
如果是命令行进行操作,基准目录,就是你当前所处的目录。                      
对于IDEA来说,基准目录就是项目目录。                                                                                  D:\git\java_repository\java-repository\JavaEE_Improve\File_test (项目目录就是File_test)


🚩文件类型

从编程的角度看,文件类型,主要就是俩大类
  • 文本(文件中保存的数据,都是字符串,保存的内容都是合法的字符
  • 二进制 (文件中保存的数据,仅仅是二进制数据.不要求保存的内容是 合法的字符

什么是 合法的字符??——字符集/字符编码

utf8有一个大的表格,就列出了什么字符,对应到什么编码

如果你的文件是utf8编码的,此时文件中的每个数据都是合法的utf8编码的字符,就可以认为这个文本是文本文件了。如果存在一些不是utf8合法字符的情况下,就是二进制了。

本身计算机存储的数据都是二进制的

如何判定一个文件是文本还是二进制?

就直接使用记事本,打开这个文件,如果打开之后,乱码,文件就是二进制,否则就是文本。

很多文件都是二进制的,docx,pptx...都属于二进制的。区分文本和二进制,是很重要的!!写代码的时候,文本文件和二进制文件,代码编写的方式是不同的。


上述我们讲述了文件系统利用树形结构来组织文件,以及路径分为绝对路径和相对路径。
文件都是从两方面入手: 文件系统操作和文件内容操作
  • 文件系统操作:比如删除、创建、重命名文件等等

  • 文件内容操作:流对象 (读和写文件)也就是对文件里面的内容增删查改等操作。

📝文件系统操作

本节内容中,我们主要涉及文件的元信息、路径的操作,暂时不涉及关于文件中内容的读写操作。
Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,并不
代表真实存在该文件。

🎈File 概述

  • 1) java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关
  • 2)File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。
  • 3) 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
  • 4) File对象可以作为参数传递给流的构造器,指明读取或写入的"终点"。

🎈File类的使用

1. 绝对路径 vs 相对路径

(1)绝对路径:是一个固定的路径,从盘符开始
(2)相对路径:是相对于某个位置开始

2. 路径分隔符

pathSeparator就是路径分隔符 D:\project\test  其中\就是pathSeparator

(1) 路径中的每级目录之间用一个路径分隔符隔开。

(2)路径分隔符和系统有关:

  • windowsDOS系统默认使用"\"来表示
  • UNIX和URL使用"/"来表示

我们知道再编程的时候会有转义字符出现  除非用\\才可以。所以我们更喜欢用 /.

(3) Java程序支持跨平台运行,因此路径分隔符要慎用。
为了解决这个隐患,File类提供了一个常量:
public static final String separator:根据操作系统,动态的提供分隔符。

  • windows 相当于 \ 
  • linux/Mac 相当于 /   

利用这个变量可以自动的提供分隔符。而不担心弄错。

   File file=new File("E:/4_4/test.txt");System.out.println(file);File file1=new File("E:"+File.separator+"4_4"+File.separator+"test.txt");System.out.println(file1);File file2=new File("E:\\4_4\\test.txt");System.out.println(file2);

3. 静态成员变量

4. 常用构造器

一个File对象相当于硬盘上的文件。

在构建对象的时候,就需要把这个文件的路径给指定进来 (使用绝对/相对路径来表示)。


5. 常用方法

5.1 获取功能
5.1.1 getParent()


 5.1.2 getName()

这里的文件名 是 前缀+扩展  test.txt


5.1.3 getPath()
返回 File 对象的文件路径。
  • 这个方法返回的是构造文件对象时使用的路径字符串。
  • 如果文件对象是通过相对路径创建的,则返回的是相对路径字符串。
  • 如果文件对象是通过绝对路径创建的,则返回的是绝对路径字符串。
需要注意的是, getPath()方法不会检查文件是否存在,它只是返回文件对象的路径字符串。
File file1=new File("E:/4_4/test.txt");
System.out.println(file1.getPath());//绝对路径File file2=new File("test.txt");System.out.println(file2.getPath());//路径字符串File file3=new File("4_4/test.txt");System.out.println(file3.getPath());//相对路径


5.1.4 getAbsolutePath()和getCanonicalPath()

    public static void main(String[] args) throws IOException {File file=new File("e:/test.txt");System.out.println(file.getAbsoluteFile());System.out.println(file.getCanonicalFile());}

windowns上的盘符,是不区分大小写的。

上面的不是很能区别,我们用这种 ./格式

  public static void main(String[] args) throws IOException {File file=new File("./test.txt");System.out.println(file.getAbsoluteFile());System.out.println(file.getCanonicalFile());}

其实绝对路径就是将 相对路径 拼接到 基准目录上。对于IDEA中,基准目录,就是项目所在的目录。我创建的项目是File_test.


5.2判断功能
5.2.1 exists()

判断是否存在文件就可以使用这个方法。


5.2.2 isDirectory()和isFile()


5.2.3 canRead()和canWrite() 以及isHidden()

一般文件系统上都会对文件有权限的限制。(这个事情在Windows上不太明显)很多同学,windows系统里面的用户都是管理员,管理员的权限很大,可以无视文件本身的权限。


 5.3 创建功能

注意事项: 如果你创建文件或者文件目录没有写盘符路径,那么,默认在项目路径下。 

5.3.1  createNewFile()

如果文件存在,就打印绝对路径,如果不存在,那么就打印不存在

   public static void main(String[] args) throws IOException {File file=new File("e:/test.txt");if(file.exists()){//如果文件存在,就打印文件不存在System.out.println("文件已经存在");}else {//如果文件不存在,就创建文件  并且打印绝对路径file.createNewFile();System.out.println(file.getAbsoluteFile());//如果不存在就打印绝对路径}}

此时e盘就出现了test.txt文件了。


5.3.2  mkdir()和mkdirs()

创建目录mkdir()

   public static void main(String[] args) {File file=new File("e:/4_4");boolean mkdir=file.mkdir();//如果目录存在就返回true 不存在就返回falseif(mkdir){//如果目录存在 就打印创建成功System.out.println("创建成功");}}


创建多个目录,就需要mkdirs()

  public static void main(String[] args) {File file=new File("e:/4_3/111/222");boolean mkdirs=file.mkdirs();if(mkdirs){//如果目录存在,就打印创建成功System.out.println("创建成功");}}

一般都是用mkdirs更好。 


5.4 删除功能
5.4.1 delete()

注意事项: Java中的删除不走回收站。 要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录。

  public static void main(String[] args) {File file=new File("e:/test.txt");boolean delete=file.delete();if(delete){//如果删除成功System.out.println("删除成功");}else {System.out.println("删除失败");}}


但是如果删除一个目录,如果里面没有目录和文件的话,那么就删除成功,如果里面有目录和文件的话,那么就删除失败。

我们从上面可以知道,4_3里面有一系列的目录,所以删除失败。而4_4目录中没有目录和文件,所以删除成功


5.4.2 deleteOnExit() 
根据 File 对象,标注文件将被删除,删除动作会到 JVM 运行结束时才会进行

    public static void main(String[] args) throws IOException, InterruptedException {File file=new File("e:/test.txt");file.deleteOnExit();Thread.sleep(5000);System.out.println("程序结束");}

我们创建一个文件,然后我们调用deleteOnExit()方法之后,休眠5s之后,等程序结束后,就删除文件了。


在office或者wps软件中,在编辑一个文件的时候,就会自动产生一个隐藏的文件,会在你关闭文件的时候自动删除掉。

关闭文件后就自动删除了。

因为当word文件修改并且保存后关闭了,说明线程结束了,此时就自动删除临时文件。所以在deleteOnExit()方法的时候,调用之后等待线程结束才结束,这样就防止数据丢失。为了解决你的电脑突然断电,数据来不及保存的问题,这种机制就可以避免这种情况。


5.5 查看功能
String[]
list()返回 File 对象代表的目录下的所有文件名 (文件名)
File[]listFiles()
返回 File 对象代表的目录下的 所有文件 ,以 File 对象
表示 (路径)
5.5.1 list() 

我们在E:\4_4\5_5目录下创建几个文件,我们调用该方法接收。

  public static void main(String[] args) {File file=new File("e:/4_4/5_5");String[] strings=file.list();System.out.println(Arrays.toString(strings));}

返回的是文件名。 


5.5.2 listFiles() 
 public static void main(String[] args) {File file=new File("e:/4_4/5_5");File[] strings=file.listFiles();System.out.println(Arrays.toString(strings));}

 返回的是路径下的文件。


5.6 更改功能 
5.6.1 renameTo()

如果不存在该文件就返回false。如果存在该文件就返回true。

boolean
renameTo(File
dest)
进行文件改名,也可以视为我们平时的剪切、粘贴操作

e盘下有个test.txt文件。

  public static void main(String[] args) {File srcFile=new File("e:/test.txt");//源File destFile=new File("e:/test2.txt");//目标boolean ret=srcFile.renameTo(destFile);System.out.println(ret);}

此时的文件名称重命名成test2.txt。


📝强化练习

🎈 显示文件及文件夹内容

 首先我们输入文件夹路径,首先我们先打印名称,然后继续往后遍历,列出当前目录下的文件或者目录,然后就进入下一个路径了,所以此时我们要用一个count来用于美观的打印出文件的路径,否则都打印成一列看不出来路径的关系,然后我们就依次遍历该路径下的文件或者目录,先\t,然后哦判断是否是文件,如果是文件那么就打印名字,如果不是文件,那么就是文件夹,文件夹就进行递归,按照这样的思路打印即可。

    public static void main(String[] args) {System.out.println("请输入一个文件夹路径:");Scanner scanner=new Scanner(System.in);String s=scanner.next();File file=new File(s);int count=0;showDir(file,count);}public static  void showDir(File file,int count){System.out.println("|-"+file.getName());//得到当前的纯文件名称File[] files=file.listFiles();//列出目录下所有的文件count++;//每次列出当前目录下的文件都count++for (File file1:files) {printTab(count);//先tab再打印if(file1.isFile()){System.out.println("|-"+file1.getName());//如果是文件那么就打印}else{//如果不是文件,那么就是目录,那么就继续遍历showDir(file1,count);}}}public  static void printTab(int count){for (int i = 0; i <count ; i++) {System.out.print("\t");//美观要求 }}

🎈统计文件夹大小


file.length() 方法用于获取文件的大小,返回的是以字节为单位的文件大小。在Java中,File类的length()方法返回一个long类型的值,表示文件的大小。这个方法可以用于检查文件的大小,以便进行各种操作,比如文件传输、文件拷贝等。

还是以这个目录为例,计算文件夹大小,我们输入文件夹路径,然后传入当参数,文件夹的大小返回值是long类型,然后我们列出当前文件列表,如果是文件夹,那么就继续递归操作,如果不是文件夹,那么就就更新文件夹大小,直到递归完成。

    public static void main(String[] args) {System.out.println("请输入文件夹路径");Scanner scanner=new Scanner(System.in);String s=scanner.next();File file=new File(s);long size=calculateDirSize(file);//文件夹大小返回值是longSystem.out.println(size);}public static long calculateDirSize(File file){int size=0;File[] files=file.listFiles();for (File file1:files) {if(file1.isDirectory()){//如果是文件夹 那么就继续递归操作size+=calculateDirSize(file1);}else {//如果不是文件夹了,那么就加上当前的文件夹的大小即可size+=file1.length();}}return size;}

和上述的文件大小一模一样。


java.io包中File类里面有很多的方法,底层实现。文件系统操作涉及到的和windows下的删除创建复制剪切等操作都是在java代码中File类中都得以实现。


多敲代码,多思考。

相关文章:

【JavaEE初阶系列】——文件操作 IO 之 文件系统操作

目录 &#x1f4dd;认识文件 &#x1f6a9;树型结构组织 和 目录 &#x1f388;绝对路径和相对路径 &#x1f6a9;文件类型 &#x1f4dd;文件系统操作 &#x1f388;File 概述 &#x1f388;File类的使用 1. 绝对路径 vs 相对路径 2. 路径分隔符 3. 静态成员变量 4…...

JAVA 学习·类与方法

不同于 C &#xff0c;Java 是一门面向对象的编程语言。C 也有面向对象的内容&#xff0c;但是 C 和 Java 在方法的具体实现上存在区别。 方法的定义 方法(method)是为执行一个复杂操作组合在一起的语句集合。一个类中可以声明多个方法。其语法是采用 BNF 范式&#xff08;Bac…...

4. python练习题4-水仙花数

4. python练习题4-水仙花数 【目录】 文章目录 4. python练习题4-水仙花数1. 目标任务2. 水仙花数的特点3. 如何判断一个数是否是水仙花数&#xff1f;4. 打印3位水仙花数5. 判断一个数是不是水仙花数6. 列表推导式6. 列表推导式判断一个数是不是水仙花数 【正文】 1. 目标任务…...

【Qt 学习笔记】Qt 开发环境的搭建 | Qt 安装教程

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt 开发环境的搭建 | Qt 安装教程 文章编号&#xff1a;Qt 学习笔记 /…...

ids工业相机与电控位移台同步控制及数据采集

通过VS2017和OpenCV,实现ids工业相机与电控位移台同步控制及数据采集 目录项目环境配置代码流程及思路项目架构项目开发运行效果开发关键ids相机配置位移台环境配置相机头文件相机参数设置保存图像函数设置电控位移台头文件电控位移台设置参数最后就是通过main函数进行调用和控…...

景联文科技提供高质量医疗健康AI大模型数据

医疗行业是典型的知识和技术密集型行业&#xff0c;其发展水平直接关系到国民健康和生命质量。 医疗健康AI大模型&#xff0c;作为人工智能的一个分支&#xff0c;能够通过学习大量的数据来生成新的数据实例&#xff0c;在医药研发、医学影像、医疗文本分析等都有广泛的应用前景…...

【Python第三方库】lxml 解析器和xpath路径语言

1.lxml是做什么的 是xml/html的解析器&#xff0c;主要是用来解析和提取html/xml数据 2.lxml语法 使用etree.HTML(html字符串)&#xff0c;将字符串转换为Element对象通过使用Element对象.xpath(语法)提取信息,返回的是一个列表的内存地址&#xff0c;需要通过使用索引获取信…...

Java(Lambda、集合)、题解

一、Lambda表达式 标准格式 &#xff08;&#xff09;对应方法的形参 &#xff1b;->固定格式 注意点&#xff1a; Lambda表达式可以用来简化匿名内部类的书写 Lambda表达式只能简化函数式接口的匿名内部类的写法 函数式接口: 有且仅有一个抽象方法的接口叫做函数式接口&…...

Transformer学习: Transformer小模块学习--位置编码,多头自注意力,掩码矩阵

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Transformer学习 1 位置编码模块1.1 PE代码1.2 测试PE1.3 原文代码 2 多头自注意力模块2.1 多头自注意力代码2.2 测试多头注意力 3 未来序列掩码矩阵3.1 代码3.2 测试掩码 1 …...

easyexcel 动态列导出

1. 引入easyexcel <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version></dependency> 2.导出write public void export(HttpServletResponse response) {try {String f…...

flink源码编译-job提交

1、启动standalone集群的taskmanager standalone集群中的taskmanager启动类为 TaskManagerRunner 2 打开master启动类 通过 ctrln快捷键&#xff0c;找到、并打开类&#xff1a; org.apache.flink.runtime.taskexecutor.TaskManagerRunner 3 修改运⾏配置 基本完全按照mas…...

Mysql密码修改问题

docker安装mysql&#xff0c;直接拉取镜像&#xff0c;挂载关键目录即可启动&#xff0c;默认3306端口。此时无法直接连接&#xff0c;需要配置密码。docker进入mysql容器中 docker exec -it mysql bash #mysq是容器名称&#xff0c;也可以用容器id通过修改mysql的配置进行免密…...

建独立站,对FP商家有什么好处?

2024年都过去四分之一了&#xff0c;还有许多人对是否投身于跨境独立站领域仍犹豫不决。然而&#xff0c;观望不如实践&#xff0c;如果渴望在跨境电商领域开创一片新天地&#xff0c;那么现在就是行动的最佳时机。 特别是对于FP商家来说&#xff0c;由于电商平台对于黑五类产品…...

使用Postman进行websocket接口测试

因为最近要搞关于基于AI的文本接口测试.需要用到websocket协议,于是看了一下发现postman也可以测而且很方便 位置 File->New->WebSocket 可以看到不止WebSocket还支持其他的各种协议 使用 首先先点击connect进行连接 连接成功之后可以选择多种文本格式添加请求参数 每…...

Android音视频开发 - MediaMetadataRetriever 相关

Android音视频开发 - MediaMetadataRetriever 相关 MediaMetadataRetriever 是android中用于从媒体文件中提取元数据新的类. 可以获取音频,视频和图像文件的各种信息,如时长,标题,封面等. 1:初始化对象 private MediaMetadataRetriever mediaMetadataRetriever new MediaMe…...

注解(Annotation)

10.1 注解概述 10.1.1 什么是注解 注解&#xff08;Annotation&#xff09;是从JDK5.0开始引入&#xff0c;以“注解名”在代码中存在。例如&#xff1a; Override Deprecated SuppressWarnings(value”unchecked”) Annotation 可以像修饰符一样被使用&#xff0c;可用于修饰…...

蓝桥杯:七步诗 ← bfs

【题目来源】https://www.lanqiao.cn/problems/3447/learning/【题目描述】 煮豆燃豆苴&#xff0c;豆在釜中泣。本是同根生&#xff0c;相煎何太急?---曹植 所以&#xff0c;这道题目关乎豆子! 话说赤壁之战结束后&#xff0c;曹操的船舰被刘备烧了&#xff0c;引领军队从华容…...

Vue 如何快速上手

目录 1. Vue 是什么 &#xff08;概念&#xff09; 1.1. Vue 的两种使用方式 1.2. 优点 1.3. 缺点 2. 创建 Vue 实例&#xff0c;初始化渲染 2.1. 步骤&#xff08;核心步骤 4步&#xff09; 2.2. 练习——创建一个Vue实例 3. 插值表达式 {{ }} 3.1. 介绍 3.2. 作用…...

Vue3:组件间通信-provide和inject实现祖先组件与后代组件间直接通信

一、情景说明 我们学习了很多的组件间通信 这里在学习一种&#xff0c;祖先组件与后代组件间通信的技术 这里的后代&#xff0c;可以是多层继承关系&#xff0c;子组件&#xff0c;子子组件&#xff0c;子子子组件等等。 在祖先组件中通过provide配置向后代组件提供数据在后代…...

微信小程序——小程序和页面生命周期详解

小程序的生命周期 小程序的生命周期主要分为以下几个阶段&#xff1a; 创建&#xff08;onLoad&#xff09;&#xff1a; 当小程序启动时&#xff0c;或者从其他页面跳转到当前页面时&#xff0c;会触发 onLoad 生命周期函数。 这个阶段通常用于初始化页面数据&#xff0c;从服…...

android studio中添加module依赖

android常用的三种依赖 库依赖&#xff08;Library dependency&#xff09;&#xff1a;以访问网址的形式将依赖库相应版本下载到本地; 文件依赖&#xff08;File dependency&#xff09;&#xff1a; 将下载下来的依赖库以.jar文件的形式添加依赖. module依赖&#xff08;Modu…...

【.NET全栈】.NET全栈学习路线

一、微软官方C#学习 https://learn.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/ C#中的数据类型 二、2021 ASP.NET Core 开发者路线图 GitHub地址&#xff1a;https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.zh-Hans.md 三、路线…...

代码随想录阅读笔记-二叉树【二叉搜索树中的搜索】

题目 给定二叉搜索树&#xff08;BST&#xff09;的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则返回 NULL。 例如&#xff0c; 在上述示例中&#xff0c;如果要找的值是 5&#xff0c;但因为没有节点…...

1、初识drf

drf的学习需要学习者有django基本使用知识。 文章目录 什么是drf&#xff0c;有什么作用CBV是什么初步使用drf 下载以及django创建项目django最小启动内容修改setting修改 url 编写drf视图编辑url测试返回结果 什么是drf&#xff0c;有什么作用 drf(django rest-framework),让…...

速盾:cdn高防御服务器租用有哪些好处

随着互联网的发展&#xff0c;网络安全问题日益突出。攻击者利用各种手段不断对网站进行攻击&#xff0c;给网站的安全运行带来威胁。为了保障网站的正常运行和数据的安全&#xff0c;越来越多的网站开始租用CDN高防御服务器。那么&#xff0c;租用CDN高防御服务器有哪些好处呢…...

【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权限

系列文章目录 【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统介绍 【跟小嘉学 Linux 系统架构与开发】二、Linux发型版介绍与基础常用命令介绍 【跟小嘉学 Linux 系统架构与开发】三、如何查看帮助文档 【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权…...

ubuntu18.04图形界面卡死,鼠标键盘失灵, 通过MAC共享网络给Ubuntu解决!

ubuntu18.04图形界面卡死&#xff0c;鼠标键盘失灵&#xff0c; 通过MAC共享网络给Ubuntu解决&#xff01; 1. 尝试从卡死的图形界面切换到命令行界面2. 进入bios和grub页面3. 更改Grub中的设置&#xff0c;以进入命令行4. 在命令行页面解决图形界面卡死的问题5. Mac共享WI-FI网…...

ESG认证(ESG=环境、社会和治理 Environmental, Social, and Governance)

什么是ESG认证 ESG认证是指根据企业在环境、社会和治理&#xff08;Environmental, Social, and Governance&#xff09;方面的表现而设立的一种评价或评级体系。 环境&#xff08;Environmental&#xff09;&#xff1a;这一维度关注企业如何管理其对环境的影响&#xff0c;包…...

Cesium Viewer 类学习

Viewer提供了创建和控制3D场景所需的所有基本功能&#xff0c;包括加载3D模型、添加图像覆盖物、设置相机位置和方向、处理用户输入等。 构造函数&#xff1a; new Cesium.Viewer(container, options) 是用来创建一个新的 Cesium 视图器&#xff08;Viewer&#xff09;实例的…...

第十四届省赛大学B组(C/C++)子串简写

原题链接&#xff1a;子串简写 程序猿圈子里正在流行一种很新的简写方法&#xff1a; 对于一个字符串&#xff0c;只保留首尾字符&#xff0c;将首尾字符之间的所有字符用这部分的长度代替。 例如 internationalization 简写成 i18n&#xff0c;Kubernetes 简写成 K8s&#…...

建设网站的具体步骤是什么/每天看七个广告赚40元的app

寻源到付款&#xff08;S2P&#xff09;是端到端的过程&#xff0c;通过在采购过程中添加战略性采购&#xff0c;S2P向采购到付款&#xff08;P2P&#xff09;迈进了一步。在此过程中&#xff0c;寻找最佳供应商并制定工作的行为与他们的交易会添加到流程中&#xff0c;最终导致…...

网站备案信息真实性核验单填写说明/百度快照推广

项目经理&#xff0c;不是谁都能做的。 什么样的人能成为项目经理呢&#xff1f; 【PMP项目管理交流、资料、公开课】&#xff1a;https://jq.qq.com/?_wv1027&kGxQrBxrg 圣人 打不还手&#xff0c;骂不还口。 对外能从容面对客户、甲方老板、供应商等各路相关方的刁…...

java电影网站开发视频/重庆森林经典台词罐头

php中static关键字的作用是&#xff1a;1、放在函数内部修饰变量&#xff0c;函数执行完后变量值仍然保存&#xff1b;2、放在类中修饰属性或方法&#xff0c;如果修饰的是类的属性&#xff0c;则保留值&#xff1b;3、放在类的方法中修饰变量&#xff1b;4、修饰全局作用域的变…...

wordpress论坛vip破解/广告外链平台

正负样本不均衡是检测任务中常见的问题&#xff0c;在目标检测中&#xff0c;大量样本都是不包含目标的负样本&#xff0c;只有少量是包含目标的正样本&#xff0c;而Focal Loss就是为了解决这个问题而提出的。 Focal Loss的目的 focal loss的主要目的是降低易分类样本的权重…...

黑客黑网站是做网站/培训网络营销的机构

内容来自 https://mp.weixin.qq.com/s/j34nJGomvR23ZJiqIFMoAQ Q&#xff1a;海量稀疏特征&#xff0c;如何找到好的特征 Embedding 表达方式&#xff1f; &#xff08;1&#xff09;对于序列行为中的 Item Embedding&#xff0c;拥有怎样性质的 Embedding 表达方式是较好的&a…...

英文网站怎么做301跳转/seo推广策划

在一些情况下&#xff0c;一个进程只能产生一个实例来执行。Unix环境&#xff0c;提供了文件-记录锁(file- and record-locking)机制&#xff0c;提供了事项单实例进程的基本解决方案。 假如&#xff0c;一个进程在开始运行时&#xff0c;生成了一个文件&#xff0c;并且&…...