一、文件的创建、删除和重命名

File file = new File("/bin/hello.txt");//文件无法被创建,系统找不到指定的路径
file.createNewFile();

File file = new File("bin/hello.txt");
file.createNewFile();

File file = new File("../hello.txt");//在当前目录的上一层目录创建文件
file.createNewFile();

File file = new File("../../hello.txt");//在当前目录的上一层目录创建文件
file.createNewFile();

file.exists()

File nameto = new File("Hello.txt");
file.renameTo(nameto);//重命名文件

重命名文件,达到了移动文件的效果,跨目录时,要求源和目的必须处于同一个分区
另外如果目标的重命名文件已经存在,重命名操作也会失败的
文件处于不同的分区,需要使用文件的copy,而不是重命名

File nameto = new File("src/new Hello.txt");
file.renameTo(nameto);//重命名文件

//文件
file.isFile();

//路径(文件夹)
file.isDirectory();

file.delete();//删除文件

二、文件夹的创建、删除和重命名

File folder1 = new File("my new folder");
File folder2 = new File("my new folder/one/two/three/main");
mkdirDemo(folder1);
mkdirsDemo(folder2);

File newfolder = new File("my new folder-new");
renameFolder(folder1, newfolder);


File newfolder2 = new File("my new folder/one/2/three/main");
renameFolder(folder2, newfolder2);//重命名失败,被重命名的文件夹在构造函数中,必须是多级目录的最后一个子目录

File newfolder3 = new File("my new folder/one/2");
renameFolder(folder2, newfolder3);//重命名失败,被重命名的文件夹在构造函数中,必须是多级目录的最后一个子目录

//必须处于同一个分区,另外如果目标的重命名文件夹已经存在,重命名操作也会失败的
File folderSrc = new File("my new folder/one/two/three");
File folderDest = new File("my new folder/one/three");
if(folderSrc.renameTo(folderDest)){
  System.out.println("done");
}else {
  System.out.println("fail");
}

File folder4 = new File("my new folder/one/two");//必须是空文件夹才可以删除,如果包含了其他文件或文件夹,那么删除失败
if(folder4.delete()){
  System.out.println("done");
}else {
  System.out.println("delete fail");
}

}

//创建单个目录,文件夹如果已经存在的话则会报错,创建失败.
private static void mkdirDemo(File folder) {
  if(folder.mkdir()){
    System.out.println("文件夹创建完成");
  }else{
  if(folder.exists()){
    System.out.println("文件夹已经存在不用创建.");
  }else {
    System.out.println("文件夹创建失败");
  }
}

/**
* 创建多级目录,当然参数如果是一级目录,就只会创建一级目录
* 文件夹如果已经存在的话也不会报错,已经存在的话就不创建
* @param folder2
*/
private static void mkdirsDemo(File folder2) {
  if(folder2.mkdirs()){
    System.out.println("文件夹创建完成!");
  }
}

/**
* 重命名文件夹
* @param srcFolder
* @param destFolder
*/
private static void renameFolder(File srcFolder, File destFolder) {
  if(srcFolder.renameTo(destFolder)){
    System.out.println("重命名完成");
  }else {
    System.out.println("重命名失败");
  }
}

三、读取文件的属性

File file = new File("text.txt");
//判断文件是否存在
System.out.println(file.exists());
//读取文件名称,只跟构造函数中的名称有关,和文件是否存在无关
System.out.println(file.getName());
//读取文件路径,相对路径
System.out.println(file.getPath());
//读取文件路径,绝对路径,从磁盘的根目录开始算的
System.out.println(file.getAbsolutePath());
//读取文件的父级路径
System.out.println(file.getParent());//结果为null,因为file对应的路径是text.txt(构造函数).
System.out.println(new File(file.getAbsolutePath()).getParent());
//读取文件的大小,单位是字节
System.out.println(file.length()/1000 + "KB");//硬盘上单位进制是1000而不是1024
//判断文件是否是隐藏文件
//在linux下,以点开头的文件就是隐藏文件,在windows下,右键设定文件的隐藏属性
System.out.println(file.isHidden());
//判断文件是否可读
System.out.println(file.canRead());
//判断文件是否可写
System.out.println(file.canWrite());
//判断文件是否是文件夹
System.out.println(file.isDirectory());

四、设置文件的属性

//将文件设置为可写
file.setWritable(true);
//将文件设置为不可写
file.setWritable(false);
//将文件设置为可读
file.setReadable(true);

//将文件设置成不可读不可写
file.setReadable(false);
file.setWritable(false);

//将文件设置为只读
file.setReadOnly();

java的本地文件操作的更多相关文章

  1. 【Egret】实现web页面操作PC端本地文件操作

    Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...

  2. H5读取本地文件操作

    H5读取本地文件操作 本文转自:转:http://hushicai.com/2014/03/29/html5-du-qu-ben-di-wen-jian.html感谢大神分享. 常见的语言比如php. ...

  3. HTML5 本地文件操作之FileSystemAPI实例(四)

    目录操作Demo二 1.删除目录 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSyst ...

  4. HTML5 本地文件操作之FileSystemAPI实例(三)

    文件夹操作demo 1.读取根目录文件夹内容 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFi ...

  5. HTML5 本地文件操作之FileSystemAPI实例(二)

    文件操作实例整理二 1.删除文件.复制文件.移动文件 //获取请求权限 window.requestFileSystem = window.requestFileSystem || window.we ...

  6. HTML5 本地文件操作之FileSystemAPI实例(一)

    文件操作实例整理一 1.请求系统配额类型 console.info(window.TEMPORARY); //0 临时 console.info(window.PERSISTENT); //1 持久 ...

  7. HTML5 本地文件操作之FileSystemAPI整理(二)

    一.文件目录操作 1.DirectoryEntry对象 属性: 1.isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false 2.isDirectory: 操作对象是 ...

  8. HTML5 本地文件操作之FileSystemAPI整理(一)

    一.请求配额 DeprecatedStorageInfo对象 window.webkitStorageInfo:当使用持久存储模式时需要用到该对象的接口 方法: 1.requestQuota(type ...

  9. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

随机推荐

  1. 初识python: 类练习 - 随机数生成

    1.提取指定值之间的指定个数的随机整数. 2.继承生成随机数的类,打印"坐标". 生成随机数类: import random class GetRadndom(object): ' ...

  2. nginx中请求大小的限制的设置

    Nginx对客户端请求缓冲区大小有个默认限制,如果超过了该值(比如在上传大文件时),会报500错误. 只需要设置三个值,就可以解决该问题: 1. client_body_buffer_size: 指定 ...

  3. android studio 配置 Lombok 插件 -具体步骤

    1.前言 idea 用惯了 Lombok 插件了,好用的很,可是开发安卓 却没有,即便在 android studio 安装了插件,但是仍然无法使用 因为需要配置 2.解决 (1)进入设置,找到插件设 ...

  4. 解决zabbix server is running | No 的方法

    Zabbix 的简介 Zabbix 可以监控网络和服务的运行状况,Zabbix 利用灵活的告警机制,允许用户对事件发送基于 Email 的告警.但最近在使用的时候遇到一个问题. 这篇文章主要给大家介绍 ...

  5. vulhub安装教程

    0x00 vulhub介绍 Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更 ...

  6. 1.配置桥接,并抓包验证 2.实现免密登录 3.修改登录端口: 22-》2222 4.不允许root用户远程登录 5.创建用户sshuser1,并设置密码,且只允许sshuser1远程ssh登录

    1.配置桥接:  抓包时如果有ens160的ICMP,说明我们的桥接搭建成功通过桥接访问到了ens160(这里忘加图片了) (1)创建一个桥接设备和会话 (2)添加设备和会话到桥接设备上 (3)启动从 ...

  7. 问题记录——BigDecimal保留两位小数及格式化成百分比

    1.函数总结 BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOW ...

  8. gin框架中的路由拆分与注册

    基本的路由注册 下面最基础的gin路由注册方式,适用于路由条目比较少的简单项目或者项目demo. package main import ( "net/http" "gi ...

  9. Go 变量及基本数据类型1

    #### Go 变量及基本数据类型(一)今天主要学习一下Go 中的变量及基本数据类型: 如何申明,使用变量,以及基本数据类型的介绍和使用细节; ##### 变量的介绍1. 变量相当于内存中一个数据存储 ...

  10. url地址如何定位到Servlet程序去访问