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. ieda使用 在jsp页面中,有时候会出现不能智能显示方法 idea pageContext.setAttribute

    idea使用,出现问题记录: 就比如在 pageContext.setAttribute("user",u);这句打pageContext会智能提示, 但是后面的setAttrib ...

  2. C语言入门6-选择结构--f语句-switch

    一.     什么是选择结构? 选择结构,也称为分支结构!! 选择结构就是根据    给定的判定条件,判断结果, 并根据  判断的结果   来控制程序的流程 (流程图中,   菱形框 是有来判断的 , ...

  3. OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备)

    OpenStack 初探(一) -- All-In-One模式部署(初学OpenStack必备) 一.操作前需了解:     1. OpenStack提供IaaS(基础设施即服务)服务,它是开源的云计 ...

  4. TCP三次握手抓包理解

    TCP建立连接需要三次握手,分手需要四次握手,平时在网上看到很多次,但是还没有很理解.为什么分手要多一次?可能是刚开始追求女生的时候比较容易,到分手的时候就比较麻烦了吧... 了解某个东西要从它的基础 ...

  5. shiro创建配置对象

    在执行 Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory(&quo ...

  6. 【iOS】Xcode 离线文档

    Xcode 本身下载太慢…… Apple 官方文档地址:https://developer.apple.com/library/downloads/docset-index.dvtdownloadab ...

  7. JNDI----数据连接池

    JNDI:提供了查找和访问各种命名和目录服务的通用,统一的接口 常用的配置属性:   name:表示以后要查找的名称.通过此名称可以找到DataSource,此名称任意更换,但是程序中最终要查找的就是 ...

  8. Redis——发布和订阅

    发布与订阅(又称pub/sub),订阅者(listener)负责订阅频道(channel),发送者(publisher)负责向频道发送二进制字符串消息(binary string message).每 ...

  9. 【win】【qt5打包】【qt程序打包成一个可执行文件(带图标任何win都可以运行哦)】

    [前言] 业务需求将qt程序打包成win可执行文件.咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗. [目标] 1.给qt程序添加一个图标. ...

  10. python环境的安装 环境变量和系统变量

    一.python 的安装 python 2.7 和 python 3.6的安装(一路点点点就行) 在安装的时候注意一下红框的内容,意思代表将其添加到环境变量中 环境变量是在操作系统中一个具有特定名字的 ...