首页
学习
活动
专区
圈层
工具
发布

【文件操作】Java -操作File对象

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 Java - File对象 File: Fiile...获取File对象: public File(String pathname):根据文件路径创建文件对象 public File(String parent,String child):根据父路径名和子路径名...(当前文件/文件夹名)创建文件对象 public File(File parent,String child):根据父路径文件对象与子路径名(当前文件/文件夹名)创建文件对象 操作File对象: 判断...当调用者File表示的路径不存在,返回null 当调用者File表示的路径是文件时,返回null 当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组 当调用者File表示的路径需要访问权限时...上述三个方法传入的过滤器参数,皆为函数式接口,使用获取匿名内部类对象并重写内部抽象方法,在方法中设计过滤规则。

41240

Java中File对象的常用方法

2、mkdir() 在指定位置创建一个单级文件夹。   3、mkdirs() 在指定位置创建一个多级文件夹。   ...4、renameTo(File dest)如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在同一个路径下,那么renameTo的作用就是   剪切,而且还不能操作文件夹...deleteOnExit()jvm退出时删除文件或者文件夹,用于删除临时文件,无返回值。 判断:   exists() 文件或文件夹是否存在。   ...文件夹相关:   static File[] listRoots()列出所有的根目录(Window中就是所有系统的盘符)   list() 返回目录下的文件或者目录名,包含隐藏文件。...listFiles() 返回目录下的文件或者目录对象(File类实例),包含隐藏文件。对于文件这样操作会返回null。

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java编译时注解自动生成代码

    在开始之前,我们首先申明一个非常重要的问题:我们并不讨论那些在运行时(Runtime)通过反射机制运行处理的注解,而是讨论在编译时(Compile time)处理的注解。...注解处理器是一个在javac中的,用来编译时扫描和处理的注解的工具。可以为特定的注解,注册自己的注解处理器。...一个注解的注解处理器,以Java代码(或者编译过的字节码)作为输入,生成文件(通常是.java文件)作为输出。...这些生成的Java文件,会同其他普通的手动编写的Java源代码一样被javac编译。 虚处理器AbstractProcessor 我们首先看一下处理器的API。...将注解加到Student类上 @Serialize public class Student 定义自己的解析器 package com.robert.processor; import java.io.File

    3.2K20

    Java 编译时多态和运行时多态

    根据何时确定执行多态方法中的哪一个,多态分为两种情况:编译时多态和运行时多态。如果在编译时能够确定执行多态方法 中的哪一个,称为编译时多态,否则称为运行时多态。...一、编译时多态 方法重载都是编译时多态。根据实际参数的数据类型、个数和次序,Java在编译时能够确定执行重载方法中的哪一个。...方法覆盖表现出两种多态性,当对象引用本类实例时,为编译时多态,否则为运行时多态。例如,以下声明p、m引用本类实例,调用toString()方法是编译时多态。...因此,父类对象只能执行那些在父类中声明、被子类覆盖了的子类方法,如toString(),不能执行子类增加的成员方法。...子类对于父类静态方法的隐藏(hide),子类的静态方法完全体现不了多态,就像子类属性隐藏父类属性一样,在利用引用访问对象的属性或静态方法时,是引用类型决定了实际上访问的是哪个属性,而非当前引用实际代表的是哪个类

    91020

    Go 静态编译及在构建 docker 镜像时的应用

    Go 语言具有跨平台和可移植的特点,同时还支持交叉编译,可以在一个系统上编译出运行在另一个系统上的二进制可执行文件,这是因为 Go 在编译时支持将依赖的库文件与源代码一起编译链接到二进制文件中,所以在实际运行时不再需要依赖运行环境中的库...比如,使用 C 标准库和数学库中函数的程序可以用如下的命令行来编译和链接: 而在链接时,链接器只会复制被用到的目标模块,而并不会复制整个库的内容,这就减少了可执行文件在磁盘和内存中的大小。...静态编译是在编译时就将依赖的静态链接库复制到可执行文件中,这样在应用程序运行起来后无需依赖外部的库,只需要单一的可执行文件即可运行,但缺点是应用程序体积相对较大,程序运行的越多重复占用的内存浪费越多。...如果在 Go 代码中包含 import "C" 并且开启 CGO,那么在 go build 编译时就会通过 CGO 来处理 C 代码,生成能够让 Go 调用 C 的桥接代码,然后交给 gcc 编译得到...第一阶段构建用来编译得到可执行文件,在第二阶段构建时可以将上一个阶段中产出的可执行文件 COPY 到当前构建的镜像中,从而实现与上述效果相同的减少镜像体积的目的。

    91810

    【C++】类和对象(六) -- 友元、内部类、匿名对象、对象拷贝时的编译器优化

    return 0; } 这样的代码就是正确的,一般我们在项目中都是将声明全部防在.h文件中,定义都放在.cpp文件中(我们还是要记住编译器都是向上去寻找我们定义的变量/函数......如果一个类定义在另一个类的内部,这个内部类就叫做内部类。内部类是一个独立的类,跟定义在 全局想比,他只是受外部类类域限制和访问限定符限制,所以外部类定义的对象中不包含内部类。...()); func(s); func(); return 0; } 四、对象拷贝时的编译器优化 1.1、合并优化 我们在隐式类型转换中就说过连续的拷贝会进行优合并化 #include...linux 下可以将下面代码拷贝到 test.cpp 文件,编译时用 g++ test.cpp -fno-elide-constructors 的方式关闭构造相关的优化。...debug) f2(); cout << endl; // 返回时⼀个表达式中,连续拷⻉构造+拷⻉构造->优化⼀个拷⻉构造 (vs2019 debug) // ⼀些编译器会优化得更厉害,进⾏

    9310

    【C++】简易了解内部类,匿名对象和对象拷贝时的编译器优化

    ⼀些其他使⽤场景,这个我们以后遇到了再说 Solution().Sum_Solution(10); return 0; } 对象拷贝时的编译器优化: 对象拷贝是指将一个对象的值复制给另一个对象。...为了避免这种问题,可以使用深拷贝,即为每个对象分配独立的内存空间,并将原对象的值复制到新的内存空间中。 编译器在优化对象的拷贝时,可能会进行一些优化操作,以提高性能和减少内存消耗。...例如,编译器可以通过引用计数、写时复制等技术来共享对象,避免不必要的复制。编译器还可以使用移动语义来避免不必要的对象拷贝,将资源所有权从一个对象转移到另一个对象,减少内存的拷贝和分配操作。...特性: 现代编译器会为了尽可能提高程序的效率,在不影响正确性的情况下会尽可能减少⼀些传参和传返回值的过程中可以省略的拷贝。 如何优化C++标准并没有严格规定,各个编译器会根据情况自行处理。...匿名对象是一种临时创建的没有具体名字的对象。编译器在对象拷贝时可能会进行一些优化操作,以提高性能和减少内存消耗。

    25610

    java:File.deleteOnExit()实现分析塈用于多级目录时的讲究

    https://blog.csdn.net/10km/article/details/51822560 java.io.File类有个有意思的方法deleteOnExit,这个方法的用途简单说就是要求在...删除文件,很好理解,结束的时候这个文件自动被删除;但是对于目录,我们知道,目录是可以层层嵌套的,对于一个有多级子目录的File对象?如何确保使用deleteOnExit被准确删除呢?...还是举个栗子吧: package net.facesdk.cas; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream...但当我实际运行时,发现包含子目录的文件夹,在JVM结束时并没被删除,该文件夹下所有的子目录都没有被删除,而子目录下的文件都被删除了。 这是为什么呢?...的路径加到JVM内部由java.io.DeleteOnExitHook类维护的一张表中,在JVM结束时会根据这张表倒序删除表中的文件。

    1.6K20

    【DB笔试面试660】在Oracle中,在编译存储过程、函数等对象时无响应该怎么办?

    ♣题目部分Oracle中,在编译存储过程、函数等对象时无响应该怎么办? ♣答案部分 在编译某个存储过程的时候,Oracle会自动给这个对象加上DDL锁,同时也会对这个存储过程所引用的对象加锁。...在数据库的开发过程中,经常碰到包、存储过程、函数无法编译或采用“PLSQL Developer”这款软件进行编译时会导致该软件无法响应的问题,这个时候可以通过查询DBA_DDL_LOCKS或V$ACCESS...SESSION视图可以得到有关锁的详细信息: SELECT A.TADDR, A.LOCKWAIT, A.ROW_WAIT_OBJ#, A.ROW_WAIT_FILE...DATA_OBJECT_ID FROM DBA_OBJECTS WHERE OBJECT_ID = ROW_WAIT_OBJ#), ROW_WAIT_FILE...ROW_WAIT_BLOCK#, ROW_WAIT_ROW#), A.ROW_WAIT_OBJ#, A.ROW_WAIT_FILE

    1.9K20

    JAVA对象在JVM中内存分配

    如果你还不了解JVM内存模型的建议您先看下JVM内存模型 以一下代码为例,来分析下,java的实例对象在内存中的空间分配(JDK1.8)。...private int year = 2010; private int month = 10; private int day = 1; } 以Student类执行到main方法的最后一行时来分析...java实例对象在内存中的分配情况。...java对象在内存中的关系 图画的稍微有点问题,不过能说明对象在内存中的大致位置。 从图中我们可以看出,普通的java实例对象内存分配,主要在这三个区域:虚拟机栈、堆、方法区。...如果常量的类型是对象的实例则只存储对象实例的引用地址 通过变量的角度来分析,我们就可以了解为什么静态变量不用new就能调用,而实例变量必须new出对象,才能调用。

    2.7K120

    Java 面试题问与答:编译时与运行时

    在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。...Java反编译器和javap命令都是查看编译后的代码(例如,字节码)的利器。 Q.你能想出除了代码优化外,在什么情况下,查看编译过的代码是很有帮助的?...A.Java里的泛型是在编译时构造的,可以通过查看编译后的class文件来理解泛型,也可以通过查看它来解决泛型相关的问题。 Q.下面哪些是发生在编译时,运行时,或者两者都有?...在Java 5中,用户自定义的注解可以用注解处理工具(Anotation Process Tool ——APT)在编译时进行处理。到了Java 6,这个功能已经是编译器的一部分了。...Q.你能够通过实例来区别编译期继承和运行时继承,以及指出Java支持哪种吗? A.“继承”表示动作和属性从一个对象传递到另外一个对象的场景。

    1.7K40

    Java 面试题问与答:编译时与运行时?

    在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。...Java反编译器和javap命令都是查看编译后的代码(例如,字节码)的利器。 Q.你能想出除了代码优化外,在什么情况下,查看编译过的代码是很有帮助的?...A.Java里的泛型是在编译时构造的,可以通过查看编译后的class文件来理解泛型,也可以通过查看它来解决泛型相关的问题。 Q.下面哪些是发生在编译时,运行时,或者两者都有? A. ?...在Java 5中,用户自定义的注解可以用注解处理工具(Anotation Process Tool ——APT)在编译时进行处理。到了Java 6,这个功能已经是编译器的一部分了。...Q.你能够通过实例来区别编译期继承和运行时继承,以及指出Java支持哪种吗? A.“继承”表示动作和属性从一个对象传递到另外一个对象的场景。

    70110

    Java编译时类型和运行时类型「建议收藏」

    一、前言 最近在做笔试题的时候,才看到有这么一个知识点,查了好几篇博客,在这里记录一下 二、是什么 Java引用变量有两个类型,一个是编译时类型,还有一个是运行时类型。...编译时类型是由声明该变量时使用的类型所决定,运行时类型是由该变量指向的对象类型决定 如果两种类型不一致,就会出现多态,因此就会将子类对象之间赋值给父类引用变量,称为向上转型,而不用进行类型转换。...如 Animal a = new Bird(),其中引用变量 a 的编译时类型是 Animal,运行时类型是 Bird,两者不一致,因此出现多态 当使用该对象引用进行调用的时候,有这么一条规则,对象调用编译时类型的属性和运行时类型的方法...blog.csdn.net/qq_29513537/article/details/60765552 https://blog.csdn.net/qq_23419401/article/details/52064871#java

    85610

    Java面试题问与答——编译时与运行时

    在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。...Java反编译器和javap命令都是查看编译后的代码(例如,字节码)的利器。 Q.你能想出除了代码优化外,在什么情况下,查看编译过的代码是很有帮助的?...A.Java里的泛型是在编译时构造的,可以通过查看编译后的class文件来理解泛型,也可以通过查看它来解决泛型相关的问题。 Q.下面哪些是发生在编译时,运行时,或者两者都有? A....在Java 5中,用户自定义的注解可以用注解处理工具(Anotation Process Tool ——APT)在编译时进行处理。到了Java 6,这个功能已经是编译器的一部分了。...Q.你能够通过实例来区别编译期继承和运行时继承,以及指出Java支持哪种吗? A.“继承”表示动作和属性从一个对象传递到另外一个对象的场景。

    90890
    领券