Java:File类详解

news2024/9/27 17:30:37

文章目录

    • 1、概述
    • 2、创建File实例
    • 3、常用方法
      • 3.1 获取功能的方法
      • 3.2 绝对路径和相对路径
      • 3.3 判断功能的方法
      • 3.4 创建删除功能的方法
      • 3.5 文件过滤功能的方法
    • 4、文件夹的遍历
    • 5、综合练习
      • 5.1 创建文件夹
      • 5.2 查找文件(不考虑子文件夹)
      • 5.3 查找文件(考虑子文件夹)
      • 5.4 删除多级文件夹
      • 5.5 统计大小
      • 5.6 统计文件个数

1、概述

java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。

2、创建File实例

可以通过如下的构造方法创建File实例。

  • public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
  • public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
  • public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。

代码示例:

public class FileDemo01 {
    public static void main(String[] args) {
        //1.根据字符串表示的路径,变成File对象
        String str = "C:\\Users\\yagote\\Desktop\\a.txt";
        File f1 = new File(str);
        System.out.println(f1);     //C:\Users\yagote\Desktop\a.txt


        //2.父级路径:C:\Users\yagote\Desktop,子级路径:a.txt
        String parent = "C:\\Users\\yagote\\Desktop";
        String child = "a.txt";
        File f2 = new File(parent,child);
        System.out.println(f2);     //C:\Users\yagote\Desktop\a.txt

        File f3 = new File(parent + "\\" + child);
        System.out.println(f3);     //C:\Users\yagote\Desktop\a.txt


        //3.把一个File表示的路径和String表示路径进行拼接
        File parent2 = new File("C:\\Users\\yagote\\Desktop");
        String child2 = "a.txt";
        File f4 = new File(parent2,child2);
        System.out.println(f4);     //C:\Users\yagote\Desktop\a.txt
    }
}

image-20240103105206086

注:

  • 一个File对象代表硬盘中实际存在的一个文件或者目录。
  • 无论该路径下是否存在文件或者目录,都不影响File对象的创建。

3、常用方法

3.1 获取功能的方法

  • public String getAbsolutePath() :返回此File的绝对路径名字符串。

  • public String getPath() :将此File转换为路径名字符串。

  • public String getName() :返回由此File表示的文件或目录的名称,带后缀。

  • public long length() :返回由此File表示的文件的长度(字节数量)。

  • public long lastModified() :返回文件的最后修改时间(时间毫秒值)。

  • public static File[] listRoots() : 返回可用的文件系统根。

代码示例:

public class FileDemo03 {
    public static void main(String[] args) {
        /**
         * 1.length  返回文件的大小(字节数量)
         * 细节1:这个方法只能获取文件的大小,单位是字节
         * 细节2:这个方法无法获取文件夹的大小
         * 如果我们要获取一个文件夹的大小,需要把这个文件夹里面所有的文件大小都累加在一起。
         */
        System.out.println("----------文件大小----------");
        File f1 = new File("D:\\aaa\\a.txt");
        long len = f1.length();
        System.out.println(len);

        System.out.println("----------文件夹大小:不能获取文件夹的大小----------");
        File f2 = new File("D:\\aaa\\bbb");
        long len2 = f2.length();
        System.out.println(len2);   //0

        System.out.println("----------文件绝对路径----------");
        //2.getAbsolutePath 返回文件的绝对路径
        File f3 = new File("D:\\aaa\\a.txt");
        String path1 = f3.getAbsolutePath();
        System.out.println(path1);

        File f4 = new File("my-file/a.txt");
        String path2 = f4.getAbsolutePath();
        System.out.println(path2);

        //3.getPath 返回定义文件时使用的路径
        System.out.println("----------getPath定义文件时使用的路径----------");
        File f5 = new File("D:\\aaa\\a.txt");
        String path3 = f5.getPath();
        System.out.println(path3);  //D:\aaa\a.txt

        File f6 = new File("my-file/a.txt");
        String path4 = f6.getPath();
        System.out.println(path4);//myFile\a.txt

        /**
         * 4.getName 获取名字
         * 细节1:
         * a.txt:
         *       a 文件名
         *       txt 后缀名、扩展名
         * 细节2:
         * 文件夹:返回的就是文件夹的名字
         */
        System.out.println("----------getName获取文件名,带后缀----------");
        File f7 = new File("D:\\aaa\\a.txt");
        String name1 = f7.getName();
        System.out.println(name1);

        System.out.println("----------getName获取文件夹名称----------");
        File f8 = new File("D:\\aaa\\bbb");
        String name2 = f8.getName();
        System.out.println(name2);//bbb

        //5.lastModified  返回文件的最后修改时间(时间毫秒值)
        System.out.println("----------返回文件的最后修改时间(时间毫秒值)----------");
        File f9 = new File("D:\\aaa\\a.txt");
        long time = f9.lastModified();
        System.out.println(time);


        //6.listRoots  获取系统中所有的盘符
        System.out.println("-----------listRoots返回可用的文件系统根--------------");
        File[] arr = File.listRoots();
        System.out.println(Arrays.toString(arr));
    }
}

image-20240103141634146

API中说明:length(),表示文件的长度。如果File对象表示文件夹,则返回值0。

3.2 绝对路径和相对路径

  • 绝对路径:从盘符开始的路径,这是一个完整的路径。
  • 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。
public class FilePath {
    public static void main(String[] args) {
      	// D盘下的bbb.java文件
        File f = new File("D:\\bbb.java");
        System.out.println(f.getAbsolutePath());
      	
		// 项目下的bbb.java文件
        File f2 = new File("bbb.java");
        System.out.println(f2.getAbsolutePath());
    }
}
输出结果:
D:\bbb.java
D:\idea_project_test4\bbb.java

3.3 判断功能的方法

  • public boolean exists() :此File表示的文件或目录是否实际存在。
  • public boolean isDirectory() :此File表示的是否为目录。
  • public boolean isFile() :此File表示的是否为文件。

代码示例:

D:.
├─aaa
│  │  a.txt
│  │
│  └─bbb
│        b.txt
public class FileDemo02 {
    public static void main(String[] args) {
        //1.对一个文件的路径进行判断
        File f1 = new File("D:\\aaa\\a.txt");
        System.out.println(f1.isDirectory());//false
        System.out.println(f1.isFile());//true
        System.out.println(f1.exists());//true
        System.out.println("--------------------------------------");
        //2.对一个文件夹的路径进行判断
        File f2 = new File("D:\\aaa\\bbb");
        System.out.println(f2.isDirectory());//true
        System.out.println(f2.isFile());//false
        System.out.println(f2.exists());//true
        System.out.println("--------------------------------------");
        //3.对一个不存在的路径进行判断
        File f3 = new File("D:\\aaa\\c.txt");
        System.out.println(f3.isDirectory());//false
        System.out.println(f3.isFile());//false
        System.out.println(f3.exists());//false
    }
}

image-20240103111430266

3.4 创建删除功能的方法

  • public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
  • public boolean delete() :删除由此File表示的文件或目录。
  • public boolean mkdir() :创建由此File表示的目录。
  • public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。

方法演示,代码如下:

public class FileDemo04 {
    public static void main(String[] args) throws IOException {
        /**
         * 1.createNewFile 创建一个新的空的文件
         * 细节1:如果当前路径表示的文件是不存在的,则创建成功,方法返回true
         *       如果当前路径表示的文件是存在的,则创建失败,方法返回false
         * 细节2:如果父级路径是不存在的,那么方法会有异常IOException
         * 细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件
         */
        System.out.println("---------createNewFile创建文件----------");
        File f1 = new File("D:\\aaa\\c.txt");
        boolean b1 = f1.createNewFile();
        System.out.println(b1);  //true

        /**
         * 2.mkdir   make Directory,文件夹(目录)
         * 细节1:windows当中路径是唯一的,如果当前路径已经存在,则创建失败,返回false
         * 细节2:mkdir方法只能创建单级文件夹,无法创建多级文件夹。
         */
        System.out.println("---------mkdir创建单级文件夹----------");
        File f2 = new File("D:\\ddd");
        boolean b2 = f2.mkdir();
        System.out.println(b2);

        /**
         * 3.mkdirs   创建多级文件夹
         * 细节:既可以创建单级的,又可以创建多级的文件夹
         */
        System.out.println("---------mkdirs创建(多级)文件夹----------");
        File f3 = new File("D:\\aaa\\ccc\\ddd");
        boolean b3 = f3.mkdirs();
        System.out.println(b3);//true

        //4.删除文件、空文件
        System.out.println("---------delete删除文件、空文件夹----------");
        // 文件的删除
        System.out.println(f1.delete());// true
        // 目录的删除
        System.out.println(f2.delete());// true
        File f4 = new File("D:\\aaa\\bbb");
        System.out.println(f4.delete());// false,不能删除非空文件夹
    }
}

image-20240103113046849

API中说明:delete方法,如果此File表示文件夹,则文件夹必须为空才能删除,如果删除的是有内容(比如有文件夹或文件)的文件夹,则删除失败。

3.5 文件过滤功能的方法

  • public String[] list(FilenameFilter filter):利用文件名过滤器获取当前该路径下所有内容
  • public File[] listFiles(FileFilter filter):利用文件名过滤器获取当前该路径下所有内容
  • public File[] listFiles(FilenameFilter filter):利用文件名过滤器获取当前该路径下所有内容
  • public String[] list():获取当前该路径下所有内容
  • (掌握)public File[] listFiles(): 获取当前该路径下所有内容

代码示例:

需求:获取D:\\aaa文件夹里面所有的txt文件
public class FileDemo07 {
    public static void main(String[] args) {
        //创建File对象
        File f = new File("D:\\aaa");

        /**
         * 1.调用list(FilenameFilter filter)
         *
         * accept方法的形参,依次表示aaa文件夹里面每一个文件或者文件夹的路径
         * 参数一:父级路径
         * 参数二:子级路径
         * 返回值:如果返回值为true,就表示当前路径保留
         *        如果返回值为false,就表示当前路径舍弃不要
         */
        System.out.println("-----------String[] list(FilenameFilter filter)--------------");
        String[] arr1 = f.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                File src = new File(dir,name);
                return src.isFile() && name.endsWith(".txt");
            }
        });
        System.out.println(Arrays.toString(arr1));


        //2.调用listFiles(FileFilter filter)
        System.out.println("-----------File[] listFiles(FileFilter filter)--------------");
        File[] arr2 = f.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                return pathname.isFile() && pathname.getName().endsWith(".txt");
            }
        });
        System.out.println(Arrays.toString(arr2));


        //3.调用listFiles(FilenameFilter filter)
        System.out.println("-----------File[] listFiles(FilenameFilter filter)--------------");
        File[] arr3 = f.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                File src = new File(dir, name);
                return src.isFile() && name.endsWith(".txt");
            }
        });
        System.out.println(Arrays.toString(arr3));


        //4.调用list()
        System.out.println("-----------String[] list()--------------");
        File f1 = new File("D:\\aaa");
        String[] arr4 = f1.list();
        for (String s : arr4) {
            if(s.endsWith(".txt")){
                System.out.println(s);
            }
        }

        //5.调用listFiles()
        System.out.println("-----------File[] listFiles()--------------");
        File[] arr = f.listFiles();
        for (File file : arr) {
            //file依次表示aaa文件夹里面每一个文件或者文件夹的路径
            if(file.isFile() && file.getName().endsWith(".txt")){
                System.out.println(file);
            }
        }
    }
}

image-20240103142738334

4、文件夹的遍历

  • public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录,只获取文件或文件夹的名称,如果该目录下有文件夹,不会进入遍历该文件夹。
  • public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录,获取文件或文件夹的绝对路径,如果该目录下有文件夹,不会进入遍历该文件夹。 如果没有权限进入文件夹,则会返回null。
D:.
├─aaa
│  │ a.txt
│  │
│  ├─bbb
│  │     b.txt
│  │
│  └─ccc
│      └─ddd
│            c.txt
public class FileDemo06 {
    public static void main(String[] args) {
        //1.创建File对象
        File f = new File("D:\\aaa");

        /**
         * 2.list方法
         * 获取当前目录下的文件以及文件夹的名称
         */
        System.out.println("-----------list方法------------");
        String[] names = f.list();
        for(String name : names){
            System.out.println(name);
        }

        /**
         * 3.listFiles方法
         * 作用:获取aaa文件夹里面的所有内容,把所有的内容放到数组中返回
         * 获取当前目录下的文件以及文件夹对象,只要拿到了文件对象,那么就可以获取更多信息
         */
        System.out.println("----------listFiles方法-----------");
        File[] files = f.listFiles();
        for (File file : files) {
            //file依次表示aaa文件夹里面的每一个文件或者文件夹
            System.out.println(file);
        }
    }
}

image-20240103135853052

小贴士:

调用listFiles方法的File对象,表示的必须是实际存在的目录,否则返回null,无法进行遍历。

5、综合练习

5.1 创建文件夹

需求:在当前模块下的aaa文件夹中创建一个a.txt文件。

代码实现:

public class Test01 {
    public static void main(String[] args) throws IOException {
        //需求:在当前模块下的aaa文件夹中创建一个a.txt文件

        //1.创建a.txt的父级路径
        File file = new File("my-file\\aaa");
        //2.创建父级路径
        //如果aaa是存在的,那么此时创建失败的。
        //如果aaa是不存在的,那么此时创建成功的。
        file.mkdirs();
        //3.拼接父级路径和子级路径
        File src = new File(file,"a.txt");
        boolean b = src.createNewFile();
        if(b){
            System.out.println("创建成功");
        }else{
            System.out.println("创建失败");
        }
    }
}

image-20240103143330135

image-20240103143351032

5.2 查找文件(不考虑子文件夹)

需求:定义一个方法找某一个文件夹中,是否有以avi结尾的电影(暂时不需要考虑子文件夹)。

代码示例:

public class Test02 {
    public static void main(String[] args) {
        File file = new File("D:\\aaa\\bbb");
        boolean b = haveAVI(file);
        System.out.println(b);
    }

    /**
     * 作用:用来找某一个文件夹中,是否有以avi结尾的电影
     * 形参:要查找的文件夹
     * 返回值:查找的结果  存在true  不存在false
     */
    public static boolean haveAVI(File file){// D:\\aaa
        //1.进入aaa文件夹,而且要获取里面所有的内容
        File[] files = file.listFiles();
        //2.遍历数组获取里面的每一个元素
        for (File f : files) {
            //f:依次表示aaa文件夹里面每一个文件或者文件夹的路径
            if(f.isFile() && f.getName().endsWith(".avi")){
                return true;
            }
        }
        //3.如果循环结束之后还没有找到,直接返回false
        return false;
    }
}

image-20240103143750596

image-20240103143808858

5.3 查找文件(考虑子文件夹)

需求:找到电脑中所有以avi结尾的电影(需要考虑子文件夹)。

代码示例:

public class Test03 {
    public static void main(String[] args) {
        findAVI();
    }
    
    public static void findAVI(){
        //获取本地所有的盘符
        File[] arr = File.listRoots();
        for (File f : arr) {
            findAVI(f);
        }
    }
    
    public static void findAVI(File src){
        //1.进入文件夹src
        File[] files = src.listFiles();
        //2.遍历数组,依次得到src里面每一个文件或者文件夹
        if(files != null){
            for (File file : files) {
                if(file.isFile()){
                    //3,判断,如果是文件,就可以执行题目的业务逻辑
                    String name = file.getName();
                    if(name.endsWith(".avi")){
                        System.out.println(file);
                    }
                }else{
                    //4,判断,如果是文件夹,就可以递归
                    //细节:再次调用本方法的时候,参数一定要是src的次一级路径
                    findAVI(file);
                }
            }
        }
    }
}

image-20240103144403382

5.4 删除多级文件夹

需求: 如果我们要删除一个有内容的文件夹
1.先删除文件夹里面所有的内容
2.再删除自己

代码示例:

image-20240103145433275

public class Test04 {
    public static void main(String[] args) {
        File file = new File("D:\\aaa\\ccc");
        delete(file);
        System.out.println("删除成功");
    }

    /**
     * 作用:删除src文件夹
     * 参数:要删除的文件夹
     */
    public static void delete(File src){
        //1.先删除文件夹里面所有的内容
        //src
        File[] files = src.listFiles();
        //遍历
        for (File file : files) {
            //判断,如果是文件,删除
            if(file.isFile()){
                file.delete();
            }else {
                //判断,如果是文件夹,就递归
                delete(file);
            }
        }
        //2.再删除自己
        src.delete();
    }
}

image-20240103145607463

5.5 统计大小

需求:统计一个文件夹的总大小。

代码示例:

public class Test05 {
    public static void main(String[] args) {
       //需求:统计一个文件夹的总大小

        File file = new File("D:\\aaa");

        long len = getLen(file);
        System.out.println(len);
    }

    /**
     * 作用:统计一个文件夹的总大小
     * 参数:表示要统计的那个文件夹
     * 返回值:统计之后的结果
     * 文件夹的总大小:其实就是统计文件夹里面所有文件的大小
     */
    public static long getLen(File src){
        //1.定义变量进行累加
        long len = 0;
        //2.进入src文件夹
        File[] files = src.listFiles();
        //3.遍历数组
        for (File file : files) {
            //4.判断
            if(file.isFile()){
                //我们就把当前文件的大小累加到len当中
                len = len + file.length();
            }else{
                //判断,如果是文件夹就递归
                len = len + getLen(file);
            }
        }
        return len;
    }
}

image-20240103150610333

5.6 统计文件个数

需求:统计一个文件夹中每种文件的个数并打印。(考虑子文件夹)
打印格式如下:
txt:3个
doc:4个
jpg:6个
……

代码示例:

public class Test06 {
    public static void main(String[] args) throws IOException {
       /*
            需求:统计一个文件夹中每种文件的个数并打印。(考虑子文件夹)
            打印格式如下:
            txt:3个
            doc:4个
            jpg:6个
            ...
        */
        File file = new File("D:\\aaa");
        HashMap<String, Integer> hm = getCount(file);
        System.out.println(hm);
    }

    /**
     * 作用:统计一个文件夹中每种文件的个数
     * 参数:要统计的那个文件夹
     * 返回值:
     *       用来统计map集合
     *       键:后缀名 值:次数
     *       a.txt
     *       a.a.txt
     *       aaa(不需要统计的)
     */
    public static HashMap<String,Integer> getCount(File src){
        //1.定义集合用来统计
        HashMap<String,Integer> hm = new HashMap<>();
        //2.进入src文件夹
        File[] files = src.listFiles();
        //3.遍历数组
        for (File file : files) {
            //4.判断,如果是文件,统计
            if(file.isFile()){
                //a.txt
                String name = file.getName();
                // 获取文件后缀名
                String[] arr = name.split("\\.");
                if(arr.length >= 2){
                    String endName = arr[arr.length - 1];
                    if(hm.containsKey(endName)){
                        //存在
                        int count = hm.get(endName);
                        count++;
                        hm.put(endName,count);
                    }else{
                        //不存在
                        hm.put(endName,1);
                    }
                }
            }else{
                //5.判断,如果是文件夹,递归
                //sonMap里面是子文件中每一种文件的个数
                HashMap<String, Integer> sonMap = getCount(file);
                //hm:  txt=1  jpg=2  doc=3
                //sonMap: txt=3 jpg=1
                //遍历sonMap把里面的值累加到hm当中
                Set<Map.Entry<String, Integer>> entries = sonMap.entrySet();
                for (Map.Entry<String, Integer> entry : entries) {
                    String key = entry.getKey();
                    int value = entry.getValue();
                    if(hm.containsKey(key)){
                        //存在
                        int count = hm.get(key);
                        count = count + value;
                        hm.put(key,count);
                    }else{
                        //不存在
                        hm.put(key,value);
                    }
                }
            }
        }
        return hm;
    }
}

image-20240103151352816

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1364085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RK3568平台开发系列讲解(Linux系统篇)Linux 内核打印

🚀返回总目录 文章目录 一、方法一:dmseg 命令二、方法二:查看 kmsg 文件三、方法三:调整内核打印等级一、方法一:dmseg 命令 在终端使用 dmseg 命令可以获取内核打印信息,该命令的具体使用方法如下所示: 首先在串口终端使用 “dmseg”命令,可以看见相应的内核打印信息…

静态网页设计——科学家网(HTML+CSS+JavaScript)(dw、sublime Text、webstorm、HBuilder X)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a;https://www.bilibili.com/video/BV1wg4y1Q7qm/?vd_source5f425e0074a7f92921f53ab87712357b 源码&#xff1a;https://space.bilibili.com…

[C#]C# OpenVINO部署yolov8-pose姿态估计模型

【源码地址】 github地址&#xff1a;https://github.com/ultralytics/ultralytics 【算法介绍】 Yolov8-Pose算法是一种基于深度神经网络的目标检测算法&#xff0c;用于对人体姿势进行准确检测。该算法在Yolov8的基础上引入了姿势估计模块&#xff0c;通过联合检测和姿势…

HarmonOS 通用组件(Checkbox)

本文中 我们来说 通用组件中的 Checkbox 我们先搭起一个基本的架子组件 Entry Component struct Index {build() {Row() {Column() {Row() {}}.width(100%)}.height(100%)} }我们可以在Row 行组件中加入代码 Checkbox({name: "age"}) Text("年龄")这样 就…

JDK 11:崭新特性解析

JDK 11&#xff1a;崭新特性解析 JDK 11&#xff1a;崭新特性解析1. HTTP Client&#xff08;标准化&#xff09;示例代码 2. 局部变量类型推断的扩展示例代码 3. 新的字符串方法示例代码 4. 动态类文件常量示例代码 5. Epsilon 垃圾收集器使用方式 结语 JDK 11&#xff1a;崭新…

第三十八周周报:文献阅读 +BILSTM+GRU+Seq2seq

目录 摘要 Abstract 文献阅读&#xff1a;耦合时间和非时间序列模型模拟城市洪涝区洪水深度 现有问题 提出方法 创新点 XGBoost和LSTM耦合模型 XGBoost算法 ​编辑 LSTM&#xff08;长短期记忆网络&#xff09; 耦合模型 研究实验 数据集 评估指标 研究目的 洪…

stable diffusion 基础教程-文生图

置顶大模型插件资源链接 你如果没有魔法上网,请自取 百度云盘链接:链接:https://pan.baidu.com/s/1_xAu47XMdDNlA86ufXqAuQ?pwd=23wi 提取码:23wi 有疑问加微:mincarver 界面介绍 参数解释 参数解释Sampling method扩散去噪算法的采样模式,不同采样模式会带来不一样的效…

opencv期末练习题(6)附带解析

滑动块调整图像灰度 import cv2 import numpy as np """ 滑动块调整图像灰度1. 读取图片&#xff0c;并转为灰度图 2. 定义启动滑块和阈值滑块 3. 只有启动滑块的值为1时&#xff0c;拖动阈值滑块才生效 4. 根据阈值滑块的值实时对图像进行二值化操作 "&qu…

【文件操作】

目录 为什么使用文件什么是文件二进制文件和文本文件文件的打开和关闭文件的顺序读写文件的随机读写文件读取结束的判定文件缓冲区 1. 为什么使用文件 如果没有文件&#xff0c;我们写的程序数据时存储在电脑内存中&#xff0c;如果程序退出&#xff0c;内存回收&#xff0c;…

VS Code 如何调试Python文件

VS Code中有1,2,3处跟Run and Debug相关的按钮&#xff0c; 1 处&#xff1a;调试和运行就不多说了&#xff0c;Open Configurations就是打开workspace/.vscode下的lauch.json文件&#xff0c;而Add Configuration就是在lauch.json文件中添加当前运行Python文件的Configuratio…

C语言编译器(C语言编程软件)完全攻略(第二十七部分:VS安全函数问题(C语言安全函数)是怎么回事?如何解决?)

介绍常用C语言编译器的安装、配置和使用。 二十七、VS安全函数问题&#xff08;C语言安全函数&#xff09;是怎么回事&#xff1f;如何解决&#xff1f; 在 VS&#xff08;Visual Studio&#xff09;下编译C语言程序&#xff0c;如果使用了 scanf()、gets()、strcpy()、strca…

在IDEA中使用git分支进行开发然后合并到Master分支,2022.1.x版本

在实际开发过程中&#xff0c;为了避免因为在开发中出现的问题以及方便发布版本&#xff0c;如果是多版本发布的情况相下&#xff0c;我们通常需要采用分支进行开发&#xff0c;这个时候&#xff0c;我们就需要了解git分支的相关知识点了&#xff0c;本篇博客也是博主在实际公司…

linux高级管理——Squid代理

一、squid服务基础&#xff1a; 1.1缓存代理的概述&#xff1a; 代理的工作机制 当客户机通过代理来请求Web页面时&#xff0e;指定的代理服务器会先检查自己的缓存&#xff0c;如果缓存中已经有客户机需要的页面&#xff0c;则直接将缓存中的页面内容反馈给客户机:如果缓存中…

JumpServer3.0版本-资产管理

资产列表 资产列表可展示资产树和类型树,可以查看添加的所有资产 新增资产也是在此页面 在资产树上面右键可以创建新的子节点 比如这里我新建了个“腾讯云”节点 选中腾讯云节点,点击中间的“创建”按钮,新增资产 选择你的主机类型,我这是Linux 填写你资产的名称、IP必…

复习sql: 内连接,左外连接,右外连接,全外连接,交叉连接

数据表准备 学生表 和 课程表 内连接 join 或 innner join 筛选出满足条件的列&#xff0c;where也可以实现这种功能。 SELECT * FROM student JOIN course ON student.student_id course.stu_id结果 外连接 左外连接 left join 或者 left outer join 以第一个表为基础&…

爬虫-3-模拟登录,代理ip,json模块

#本文仅供学习使用(O&#xff40;) 如果服务器响应的数据为json数据: 那么我们可以用 res.json() 或 json模块(将json字符串转换为Python里面的字典类型) 接收数据。

商家如何通过会员充值消费管理系统提升业务运营与用户体验

在当今数字化商业环境中&#xff0c;会员充值消费管理系统已经成为各类商家提高客户粘性、优化服务流程、增强市场竞争力的重要工具。那么如何通过会员充值消费管理系统提升业务运营与用户体验&#xff0c;商家是否有所了解呢&#xff1f;下面就带大家简单了解。 首先&#xf…

计算机网络 综合(习题)

【计算机网络习题】系列文章目录 计算机网络 第一章 绪论(习题) 计算机网络 第二章 计算机网络体系结构(习题) 计算机网络 第三章 应用层(习题) 计算机网络 第四章 运输层(习题) 计算机网络 第五章 网络层(习题) 计算机网络 第六章 数据链路层(习题) 计算机网络 第七章 物…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)添加 删除 修改 释放

在上篇文章&#xff08;处理任务队列中的任务&#xff09;中我们讲解了处理任务队列中的任务的具体流程&#xff0c;eventLoopProcessTask函数的作用&#xff1a; 处理队列中的任务&#xff0c;需要遍历链表并根据type进行对应处理,也就是处理dispatcher中的任务。 // 处理任…

Hystrix熔断/断路器

简介 Hystrix是一个用于处理分布式系统的延迟和容错的开源库&#xff0c;在分布式系统里&#xff0c;许多依赖不可避免的会调用失败&#xff0c;比如超时、异常等&#xff0c;Hystrix能够保证在一个依赖出问题的情况下&#xff0c;不会导致整体服务失败&#xff0c;避免级联故…