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. Excel催化剂开源第2波-自动检测Excel的位数选择对应位数的xll文件安装

    Excel插件的部署问题难倒了不了的用户,特别是VSTO的部署,用ExcelDna开发的xll文件部署方便,不挑用户机器环境,是其开发Excel插件的一大优势. 其开发出来的xll文件,最终还是需要考 ...

  2. python面向过程编程小程序- 模拟超市收银系统

    6.16自我总结 功能介绍 程序功能介绍: 商品信息再读取修改买卖均已xlsx格式 且生成购物记录也按/用户名/购买时间.xlsx格式生成 账号密码输入错误三次按照时间进行冻结 用户信息已json格式 ...

  3. 前端插件之Bootstrap Dual Listbox使用

    工欲善其事,必先利其器 对于很多非专业前端开发来说写页面是非常痛苦的,借助框架或插件往往能够达到事半功倍的效果,本系列文章会介绍我在运维系统开发过程中用到的那些顺手的前端插件,如果你是想写XX管理系统 ...

  4. [leetcode] 11. Container With Most Water (medium)

    原题链接 以Y坐标长度作为木桶边界,以X坐标差为桶底,找出可装多少水. 思路: 前后遍历. Runtime: 5 ms, faster than 95.28% of Java class Soluti ...

  5. 织梦(dede)底层模板概念、常用底层模板字段

    织梦(dede)底层模板概念.常用底层模板字段 一.底层模板的概念以及调用方式: 1. 什么是底层模板? 底层模板不是一个模板! 他就是在实际页面当中所要显示的具体内容: 2. 底层模板的应用: 调用 ...

  6. 单页面(如react,vue)网站的服务器渲染 SSR 之 SEO 大杀器 Rendertron

    单页面网站,比如vue.recat框架的网站,一般都是直接从服务器推送index.html,再根据自身路由通过js在客户端浏览器渲染出完整的html页面. 但是搜索引擎的爬虫可没有这么智能(实际上go ...

  7. git删除分支步骤

    在本地删除一个分支: git branch -D <本地分支> 在github远程端删除一个分支: git push origin :<远程端分支> 唯一不同的就是冒号代表了删 ...

  8. 【有容云】PPT | 容器落地之二三事儿

    编者注: 本文为10月29日有容云联合创始人兼研发副总裁江松在 Docker Live时代线下系列-广州站中演讲的PPT,本次线下沙龙为有容云倾力打造Docker Live时代系列主题线下沙龙,每月一 ...

  9. dubbo是如何控制并发数和限流的?

    ExecuteLimitFilter ExecuteLimitFilter ,在服务提供者,通过 的 "executes" 统一配置项开启: 表示每服务的每方法最大可并行执行请求数 ...

  10. Java线程池的增长过程

    通过ThreadPoolExecutor的方式创建线程池 ThreadPoolExecutor 构造方法: public ThreadPoolExecutor(int corePoolSize, in ...