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

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. Swoole 中使用 Atomic 实现进程间无锁计数器

    使用示例: $atomic = new Swoole\Atomic(); $serv = new Swoole\Server('127.0.0.1', '9501'); $serv->set([ ...

  2. [ vue ] 自定义组件的 v-model 理解

    需求场景描述: 1. 在父组件 myself.vue 里面定义数据 button_val 2. 在父组件 myself.vue.里面定义按钮,它的功能是吧 button_val  的值 -1 ---- ...

  3. js监听网页页面滑动滚动事件,实现导航栏自动显示或隐藏

    /** * 页面滑动滚动事件 * @param e *///0为隐藏,1为显示var s = 1;function scrollFunc(e) { // e存在就用e不存在就用windon.event ...

  4. LC 只出现一次的数字

    Given a non-empty array of integers nums, every element appears twice except for one. Find that sing ...

  5. 基于LNMP环境的Zabbix监控安装

    一.准备LNMP环境 1.使用putty或类似的SSH工具登陆VPS或服务器: 登陆后运行:screen -S lnmp 如果提示screen: command not found 命令不存在可以执行 ...

  6. 移动端调试 - UC浏览器开发者版 - WIFI

    Chrome  功能特性 支持PC或Pad设备,实时调试手机网页 DOM.CSS.JS调试 多功能面板满足多种调试需求 1   准备工作 保证手机与PC处于同一个无线网段. 下载Android平台的U ...

  7. HDU 2041 超级楼梯 (斐波那契数列 & 简单DP)

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 题目分析:题目是真的水,不难发现规律涉及斐波那契数列,就直接上代码吧. 代码如下: #inclu ...

  8. android-sdk环境变量配置

    1.android-sdk环境变量 1.在系统变量新建:ANDROID_HOME,对应变量值为:G:\android-sdk-windows(sdk安装路径) 2.path添加两个变量(tools和p ...

  9. spring 事务失效的几种场景

    以下场景是基于mysql数据库,InnoDB的存储引擎. 一.没有添加@Transactional注解 二.方法声明是private或者static 三.没有抛出异常而是try catch了异常 下面 ...

  10. 611. Valid Triangle Number

    Given an array consists of non-negative integers, your task is to count the number of triplets chose ...