首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java - IO 文件操作

+ "demo.txt"); } } 通过 File中的常量 separator 来代替自定义的文件路径分隔符,可以较完美的解决路径分隔符带来的系统不兼容的问题 子目录的创建 获取父路径.../ System.out.println(file.createNewFile()); System.out.println((double)file.length()); } } 判断是否为...File public boolean isFile(); 判断是否为目录 public boolean isDirectory(); 实例: public class TestDemo { public...File类定义文件的路径 二、通过字节流或字符流的子类对象为父类对象实例化 三、进行数据读/写(输入/输出)操作 四、数据流属于资源操作,资源操作 必须关闭 java.IO包的定义的两类流...接口里面定义了追加的操作,而且追加的数据都是字符或字符序列 输出方法 输出全部字符数组 public void write(char[] cbuf) throws IOException; 输出字符串

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

    阿里Java编程规约【二】常量定义

    【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。 反例: // 开发者 A 定义了缓存的 key。...反例:易懂常量也要统一定义成应用内共享常量,两个程序员在两个类中分别定义了表示“是”的常量: 类 A 中:public static final String YES = "yes"; 类 B 中:...局部类在一个 Java 代码块中声明,不是类的成员)能访问所在块中的局部变量。不过这种能力有个重要的限制,即局部类只能访问声明为 final 的局部变量和参数。...这个接口为对象序列化协议定义了一些常量,ObjectInputStream 和 ObjectOutputStream 类都实现了这个接口。...需要把文件名或目录名连接到目录名上时,要使用 File() 构造方法或 File.separator 常量。 参考 2022 Java开发手册(黄山版).pdf

    49910

    Java File文件

    File[] listFiles() 获取指定目录下的所有文件或者文件目录的File数组 常用的判断 isDirectory()判断是否是文件目录 isFile()判断是否是文件 exists()判断是否存在...注意:Java中的删除不会走回收站,要删除一个文件目录,里面不能包含有内容。...重命名 renameTo(File dest):把文件重命名为指定的文件路径 注意:file1.renameTo(file2)为例:要想保证返回true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在...File类定义了一个名为分隔符Char的常量,它是系统相关的名称分隔符。 我们可以使用File.separator Char常量来获取名称分隔符作为字符。...File.separator 常量将我们的名称分隔符作为String。在程序中使用名称分隔符将使您的Java代码在不同的平台上工作。

    49310

    JAVA知识盲区整理

    分隔符File.separator和File.pathSeparator和\\ 的区别 getParentFile在解压文件时的作用 ---- 静态内部类的调用时机 调用外部类的静态变量,静态方法可以让外部类得到加载...即获取 volatile 变量的值都是最新的 不能保证变量的原子性,要么都成功,要么都失败 浅析Java中volatile关键字及其作用 ---- 一篇反射的好文链接 Java基础之—反射(非常重要)...使用 ---- java字符串常量池 字符串常量池,程序当中直接写上双引号字符串,就在字符串常量池中 对于基本类型来说 == 是进行数值得比较 对于引用类型来说 == 是进行【地址值】比较...---- Springboot启动类 红线问题解决 爆红线的原因是直接放在了java目录下,需要放在包下。...和File.pathSeparator和\ 的区别 一、File.pathSeparator在win7上输出的话,显示为 (分号;) 二、而 File.separator 才是路径分隔符 \ 注: 可移植行强

    1.1K32

    java的类加载

    ,并且不会危害虚拟机自身 准备 准备阶段是正式为类变量分配内存并设置类变量的初始值阶段,在方法区分配这些变量所使用的内存空间 例如: public static int v = 666; 此时会先给v...定义对象数组,不会触发该类的初始化 常量在编译期间会存入调用类的常量池中,本质上并没有直接引用定义常量的类,不会触 发定义常量所在的类 通过类名获取 Class 对象,不会触发类的初始化。...通过 Class.forName 加载指定类时,如果指定参数 initialize 为 false 时,也不会触发类初 始化,其实这个参数是告诉虚拟机,是否要对类进行初始化 通过 ClassLoader...,定义了main方法的那个类 类加载器 虚拟机设计团队把加载动作放到 JVM 外部实现,以便让应用程序决定如何获取所需的类,JVM 提 供了 3 种类加载器: 启动类加载器(Bootstrap ClassLoader...扩展类加载器(Extension ClassLoader) 负责加载 JAVA_HOME\lib\ext 目录中的,或通过 java.ext.dirs 系统变量指定路径中的类 库。

    85520

    java常量的定义

    大家好,又见面了,我是你们的朋友全栈君。 在Java语言中,主要是利用final关键字来定义常量。当常量被设定后,一般情况下就不允许再进行更改。...为此可以使用final关键字来定义一个常量的数组。这就是Java语言中一个很大的特色。...不同的语言,在定义变量或者常量的时候,都有自己一套编码规则。这主要是为了提高代码的共享程度与提高代码的易读性。在Java语言中,定义常量的时候,也有自己的一套规则。...但是,为了在编写代码时能够一目了然的判断变量与常量,最好还是能够将常量设置为大写字符。另外,在常量中,往往通过下划线来分隔不同的字符。而不想对象名或者类名那样,通过首字符大写的方式来进行分隔。...总之,Java开发人员需要注意,被定义为final的常量需要采用大写字母命名,并且中间最好使用下划线作为分隔符来进行连接多个单词。

    90730

    Java IO之对象的序列化、ObjectInputStream和ObjectOutputStream类

    是不是既节约了内存空间有让程序写起来更加方便简单了呐。写倒是很简单,但是读取的时候就注意了,根据读取的数据类型,指针会往下移,所以你写的顺序必须要和读的顺序一致才能完成正确的需求.   ...,要考虑JDK版本的问题,如果序列化的JDK版本和反序列化的JDK版本不统一则就可能造成异常,所以在序列化操作中引入了一个serialVersionUID的常量,可以通过此常量来验证版本的一致性,在进行反序列化时...:    在使用Externalizable接口的时候需要在被序列化的类中定义一个无参构造,因为此接口在进行反序列化的时候,会先使用   类中的无参构造方法为其进行实例化,之后再将内容分别设置到属性之中...此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\'。     ...1.什么是Parcelable接口:    Parcelable接口定义了将数据写入Parcel和从Parcel读出的接口。

    1.1K30

    Java.Io 初步了解

    java.io_总结 File:(文件操作类) 定义 File类是对文件/文件夹本身进行:创建、删除、路径等操作,对文件的具体内容不会操作。...exists();// 判断文件是否存在 路径分隔符常量 public static final String separator; // 根据系统环境判断路径分隔符 separator是File类中的成员...) 判断目标File是否为文件 public boolean isFile(); // 文件返回True,文件夹返回False 判断目标File是否为文件夹 public boolean isDirectory..."yyyy-MM-dd HH:mm:ss").format(new Date(file.lastModified()))); // 返回结果:2019-07-06 21:21:12 } } 判断是否为目录...Java并没有直接提供键盘输入功能;而System类中提供了 in 对象,此对象类型是 IntputStream public class TestDemo { public static void

    88330

    Scala专题系列 (八) : 模式匹配

    模式匹配的类型分为 : 常量模式匹配 变量模式匹配 构造器模式 序列模式 元组模式 变量绑定模式 模式匹配 - 常量模式 所谓常量模式匹配就是在case后面跟着的是常量,如同java中的swich语句...指定的匹配项 , 而 => 右面指定的是表达式 , 在语句中 case _ 等同于java中swich语句的default ,如果匹配项都不符合要求,那么就返回一个默认值 模式匹配 - 变量模式 所谓常量模式匹配就是在...,匹的是case语句后面接的是scala变量,如case x if(x == "1") => x等,在使用时一般会加守卫条件(if(...)在模式匹配中就是一个守卫,类型是一个boolean),当然也可以像...构造器模式:提供了深度匹配(deep match),如果备选项是样本类,那么构造器模式首先检查对象是否为该备选项的样本类实例,然后检查对象的构造器参数是否符合额外提供的模式。...序列模式:可以像匹配样本类那样匹配如List或者Array这样的序列类型。

    86220

    Java IO学习笔记(一):File类

    方法或常量 类型 描述 1 public static final String pathSeparator 常量 表示路径的分隔符(windows是“;”) 2 public static final...7 public boolean isDirectory() 普通 判断给定的路径是否在一个目录 8 public long length() 普通 返回文件的大小 9 public String[]...(String[] args) { 6 File f=new File("d:"+File.separator+"test.txt");//为增加可移植性,建议使用File.separator...实例操作六:判断一个给定的路径是否目录 给定路径,判断是否是目录 1 import java.io.File; 2 3 public class Test7 { 4 public static...如果给定了一个目录,则要求把此目录中的全部文件都列出来,包括子文件夹下的文件 1 import java.io.File; 2 3 public class Test8 { 4 public

    33710

    深入分析 Java 的枚举 enum

    the type Gender) 结合枚举实现接口以及自定义方法,可以写出下面那样的代码 ?...int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零 String toString() 返回枚举常量的名称,它包含在声明中。...上面讲到了,枚举类在定义的时候会自动为每个变量添加一个顺序,从0开始。 假如你希望0代表星期天,1代表周一。。。...而在枚举类中,我们只需要像上面那样写【RED(30){}】就可以了,因为java会自动的去帮我们完成这一系列操作 枚举类的其他用法 ?...我们来看看正常情况下是怎样创建单例模式的: 用双检索实现单例: 下面的代码是用双检索实现单例模式的例子,在这里getInstance()方法检查了两次来判断INSTANCE是否为null,这就是为什么叫双检索的原因

    2K30

    java IO流详尽解析「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。 流的概念和作用,好吧,百度了一张图片,不错 学习Java IO,不得不提到的就是JavaIO流。...本质其实就是基于字节流读取时,去查了指定的码表。字节流和字符流的区别: (1)读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。...当然是可以的。但是在linux下就不是\了。所以,要想使得我们的代码跨平台,更加健壮,所以,大家都采用这两个常量吧,其实也多写不了几行。...int i = 0; i < str.length; i++) { System.out.println(str[i]); } } } 【案例8】判断一个指定的路径是否为目录.../** * 使用isDirectory判断一个指定的路径是否为目录 * */ import java.io.*; class hello{ public static void main(String

    73220

    jvm之.class文件解读(下)

    该标记使用两个字节表示,用于识别一些类或者接口层次的访问信息,包括:这个 Class 是类还是接口;是否定义为 public 类型;是否定义为 abstract 类型;如果是类的话,是否被声明为 final...字段叫什么名字、字段被定义为什么数据类型,这些都是无法固定的,只能引用常量池中的常量来描述。 它指向常量池索引集合,它描述了每个字段的完整信息。...因此,其可像类的访问标志那样,使用一些标志来标记字段。...属性表 属性类型 属性表实际上可以有很多类型,上面看到的 Code 属性只是其中一种,Java8 里面定义了 23 种属性。...像接口或者抽象方法,他们没有具体的方法体,因此也就不会有 Code 属性了。

    22530

    Java学习历程之----基础篇(四)

    好了接下来我们继续学习Java,上节说到Java的数据类型,本节我们继续来讨论有关数据的声明。在实际程序中,我们可根据数据在程序运算过程中是否发生改变来选择使用常量代表还是变量代表。...它的声明格式为: final dataType variableName = value 其中,final 是定义常量的关键字,dataType 指明常量的数据类型,variableName 是变量的名称...静态常量作用域为全局,不需要创建对象就可以访问它,能被类和对象调用;成员常量定义在类中,在整个类中都可以被访问,但不能修改;局部常量作用域为所定义的局部,没有默认初始值,也不能被修改。...它们之间的区别与联系如下表所示 在定义变量时,需要注意如下内容: 1.变量是类或者结构中的字段,如果没有显式地初始化,默认状态下创 建变量并默认初始值为 0。...,那样只会浪费时间,安慰自己说花费时间去学习了,最后你就会一直是码农,而不是程序员。

    26130

    深入分析Java的enum

    int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零 String toString() 返回枚举常量的名称,它包含在声明中。...现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。...而在枚举类中,我们只需要像上面那样写【RED(30){}】就可以了,因为java会自动的去帮我们完成这一系列操作 枚举类的其他用法 ?...我们来看看正常情况下是怎样创建单例模式的: 用双检索实现单例: 下面的代码是用双检索实现单例模式的例子,在这里getInstance()方法检查了两次来判断INSTANCE是否为null,这就是为什么叫双检索的原因...,记住双检索在java5之前是有问题的,但是java5在内存模型中有了volatile变量之后就没问题了。

    1.3K110

    深入探究JVM之内存结构及字符串常量池

    前言 Java作为一种平台无关性的语言,其主要依靠于Java虚拟机——JVM,我们写好的代码会被编译成class文件,再由JVM进行加载、解析、执行,而JVM有统一的规范,所以我们不需要像C++那样需要程序员自己关注平台...JVM自身的内存区域中的,并且这块区域相当的智能,不需要C++那样需要我们自己手动释放内存,它实现了自动垃圾回收机制,这也是Java广受喜爱的原因之一。...3存入到操作数栈中,然后通过istore_1将该值从操作数栈中取出并存入到局部变量表的1号位(注意局部变量表示从0号开始的,但0号位默认存储了this变量);接着常量5执行同样的操作,完成后局部变量表中就存了...,计算结果自动加入到栈中);接着又将常量10压入到栈中,继续调用imul乘法指令,完成后需要通过istore命令再将结果存入到局部变量表中,最后通过ireturn返回(不管我们方法是否定义了返回值都会调用该指令...,只是当我们定义了返回值时,首先会通过iload指令加载局部变量表的值并返回给调用者)。

    46820

    项目终于用上了插入式注解,真香!

    需求 我们为公司提供了一套通用的JAVA基础组件包,组件包内有不同的模块,比如熔断模块、负载均模块、rpc模块等等,这些模块均会被打成jar包,然后发布到公司的内部代码仓库中,供其他人引入使用。...比如我们可以给每个组件定义一个空常量,加上自定义的注解: @TrisceliVersion public static final String version = ""; 然后像lombok生成set...所以现在我们只需要自定义一个这样的处理器,然后其内部拿到jar版本信息(因为是编译期,可以找到源码的path,源码里随便搞个文件存放版本号,然后用java io读取进来即可),再将注解对应语法树上的常量值设置成...jar包版本号,语法树变了,最终生成的字节码也会跟着变,这样就实现了我们想在编译期给常量version注入值的愿望。...(element可以是一个类、方法、包等) // JCVariableDecl为字段/变量定义语法树节点 JCTree.JCVariableDecl

    14010

    得物 Android 包体积资源优化实践

    *.ap_文件,并把各个资源ID常量定义在一个 R.java\ R.txt中; - 第二步,解压 ap_ 文件,找到 res/drawable 、res/mipmap 、res/raw 目录下的图片进行压缩...,且使用场景不可控,无法明确感知业务使用对格式是否有要求的前提下,同格式压缩是相对稳妥的方案。...resource.arsc文件是Apk打包过程中的产生的一个资源索引文件,它是一个二进制文件,源码ResourceTypes.h 定义了其数据结构。...由于删除重复资源在 arsc 中只是对常量池中路径替换,并没有删除 arsc 中的记录,也没有修改PackageChunk 中的常量池内容,也就是对应上图中的 Name 字段,故而重复资源的删除安全性比较高...但是 Target Sdk 在30以上 arsc 压缩被禁了。压缩 resources.arsc 虽然能带来包体上的收益,但也有弊端,它将带来内存和运行速度上的劣势。

    39051
    领券