package IO;

import java.io.File;
import java.io.IOException;

public class FileIO {

/**
* 构建及获取文件名信息
* @param args
*/
public static void FileName(String[] args) {
System.out.println("路径分隔符: "+File.pathSeparator); //路径分隔符
System.out.println("名称分隔符: "+File.separator);//名称分隔符

//相对路径 以工程为起始路径去找到对应的文件 例如: 1.jpg
String path = "img"; //相对路径
String name = "1.jpg";

//绝对路径 从电脑硬盘中找对应的文件 例如:C:\Users\Yonim\Pictures\Camera Roll\1.jpg
//在java当中 “\”是特殊字符 需要反编译才行 其中的\\ 为 \
String path2 = "C:\\Users\\Yonim\\Pictures\\Camera Roll\\2.jpg";
//String name2 = "";

File file = new File(path,name); //这是创建一个相对路径的构造器
file =new File(new File(path),name);//第二种构建方式

System.out.println("找出文件名称:"+file.getName());
System.out.println("找出文件路径:"+file.getPath());

// 以绝对路径创建的构造器

File f = new File(path2);
System.out.println("绝对路径的文件名称:"+f.getName());
System.out.println("绝对路径的文件路径:"+f.getPath());
System.out.println("上一级目录:"+f.getParent());//如果没有上一级目录返回空
File url = new File("Users\\Yonim\\Pictures\\Camera Roll\\2.jpg");

//在文件没有盘符的情况下 以工程文件名称的盘符做为绝对路径的盘符
System.out.println("绝对路径的文件名称"+url.getAbsolutePath());

}

/**
* 判断文件信息
*/
public static void isFile(){

String path = "img";
String name = "1.jpg";

File file = new File(path,name);

System.out.println(file.exists()); //判断文件或者文件夹是否存在,并且是否为可写的状态,存在并且可写则返回true

/**
* 判断是否文件,存在此文件时返回true
* 当不是文件或者不存在的时候都是返回false
*/
if (file.isFile()) { //是否文件
System.out.println("存在此文件");
}else if(file.isDirectory()){//是否文件夹
System.out.println("是文件夹");
}else{
System.out.println("文件不存在");
}

/**
* 判断是否绝对路径
* 是返回true 否则返回false
*/
if (file.isAbsolute()) {
System.out.println("是绝对路径");
}else{
System.out.println("相对路径");
}

/**
* 可以利用文件大小来判断是否文件还是文件夹
* file.length不能读取文件夹大小
*/
if (file.length()>0) {
System.out.println(file.getName()+"的文件大小为:"+file.length()+"字节");
}

}

/**
* 创建、删除文件信息
* @throws IOException
*/
public static void newFile() throws IOException{

String path = "D:\\myImg";
String name = "1.jpg";
File file = new File(path,name);

//如果不是文件
if (!file.exists()) {
//如果存在则返回false
System.out.println("是否创建成功:"+file.createNewFile());
}

//删除文件
if (file.delete()) {
System.out.println("删除成功");
}else{
System.out.println("删除错误,文件不可被删除");
}

}

/**
* 操作目录
*/
public static void operFile(){

String path = "D:\\MyImg\\test";
String name = "3.jpg";

File file = new File(path,name);
if(file.mkdir()){//如果没有父目录则不能创建

}

if (file.mkdirs()) {//如果没有父目录则连父目录一同创建

}
}

public static void main(String[] args) {

}

}

java IO流 之 FIle类基础的更多相关文章

  1. 【Java IO流】File类的使用

    File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...

  2. java IO流之——File类知识总结和面试

    File类描述的是一个文件或文件夹.(文件夹也可以称为目录).该类的出现是对文件系统的中的文件以及文件夹进行对象的封装.可以通过对象的思想来操作文件以及文件夹.可以用面向对象的处理问题,通过该对象的方 ...

  3. IO流,File类的测试........课堂加总结

    package liu0926; import java.io.File; import java.io.IOException; public class Text01 { public stati ...

  4. Java IO体系之File类浅析

    Java IO体系之File类浅析 一.File类介绍 位于java.io下的Java File类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等.File对 ...

  5. JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...

  6. java基础——IO流之File类

    1.File类的构造方法: File(String  pathName):通过一个指定的字符串类型路径来创建一个文件对象 File  (String parent,String child):通过指定 ...

  7. java基础9(IO流)-File类

    File类 File:文件和目录路径名的抽象表示形式.即java中把文件或者目录都封装成File对象 代码练习1 import java.io.File; public class FileDemo1 ...

  8. Java IO流中 File文件对象与Properties类(四)

    File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果 ...

  9. Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...

随机推荐

  1. NameNode和SecondaryNameNode的工作机制

    NameNode&Secondary NameNode 工作机制 NameNode: 1.启动时,加载编辑日志和镜像文件到内存 2.当客户端对元数据进行增删改,请求NameNode 3.Nam ...

  2. iOS程序员如何提升核心竞争力,防止自己被裁员?

    前言: 核心竞争力最早由普拉哈拉德和加里·哈默尔两位教授提出,通常认为核心竞争力,即企业或个人相较于竞争对手而言所具备的竞争优势与核心能力差异,说白了就是你的优势,而且最好是独一无二的的优势,这就是核 ...

  3. C#编程.函数.委托

    注:委托最重要的用途最讲到事件和事件处理时才能说清,这里先简单介绍一下关于委托的一些内容 委托是一种可以把引用存储为函数的类型.这听起来相当棘手,但其机制是非常简单的. 1)委托的声明非常类似与函数, ...

  4. MetInfo5.3管理员密码重置漏洞

    点击忘记密码 下一步 输入已知用户名或者邮箱点击下一步用Burp拦截 右键发送到Repeater 在第一行php后面拼接?met_host虚拟机kali的ip地址:端口号拼接完成后 用虚拟机监听拼接的 ...

  5. Windows 使用 helm3 和 kubectl

    简介: 主要原因是,我不会 vim ,在 linux 上修改 charts 的很蹩脚,所以就想着能不能再 windows 上执行 helm 命令,将 charts install linux 上搭建的 ...

  6. 极简代码神器:Lombok使用教程

    Lombok 是一个非常神奇的 java 类库,会利用注解自动生成 java Bean 中烦人的 Getter.Setter,还能自动生成 logger.ToString.HashCode.Build ...

  7. TestNg中的断言你真的了解吗

    前言 在执行自动化测试脚本的时候,我们需要自动判断测试脚本执行完成后的实际结果是否与预期结果一致,这个时候就需要在程序运行之前写入断言,判断当前程序执行后是否正常. 关于TestNG断言分为两种: 软 ...

  8. 【MySQL】java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\xB3' for column

    问题原因: 输入内容包含特殊字符,MySQL 中的列不支持. 解决方法 多数是修改 MySQL 的数据库和表结构,CHARSET 改为 utf8mb4,但本人测试还是不能传入 emoji. 后来在代码 ...

  9. Java 字符串分隔 split

    Java中的我们可以利用 split 方法(Java.lang.string.split)把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项. s ...

  10. java的jar打包工具的使用

    java的jar打包工具的使用 java的jar是一个打包工具,用于将我们编译后的class文件打包起来,这里面主要是举一个例子用来说明这个工具的使用. 在C盘下的temp文件夹下面:         ...