java.io.File类,是java获取文件/文件夹的所有属性,和完成所有相关操作的类

例子:

 package test.file.IO;

 import java.io.*;
public class TestFile{
public static void main(String[] args){
//1.File类是java用来处理文件的类,它可以获取文件的所有属性 和 完成文件所需要的所有操作
// 所以使用的第一步就是new一个File对象
// File f = new File("test.txt");//构造方法也有多次重载
//2.判断文件是否存在,exists()方法,这是针对单个文件的,所以要用第三人称单数
//3.如果不存在那么就新建这个文件,createNewFile()
// 如果是要创建文件夹,则使用 mkdir();只能创建一层的文件夹和
// mkdirs()无论多少层都能够创建,所以推荐使用这个方法;
//4.判断文件是文件还是文件夹,isFile();isDirectory()
//5.如果是文件,获取文件的基本属性,getName()获取文件名;
// getPath()获取路径;
// getAbsolutePath()获取绝对路径;
// length()获取文件大小等等
//6.获取文件的父目录 getParent()
// getParentFile()可以获取父路径
//7.如果是文件夹,主要就是获取目录下的文件了
// list()返回所有子目录的文件名,返回值是String类型(隐藏文件也会返回)
// listFile()很明显,返回所有子目录下的所有文件,类型是File类型
// File f = new File("D:\\123\\789\\abc.txt");
if(f.exists()){//先判断文件是否存在
System.out.println("已存在");
}else{
if(f.isDirectory()){//判断要生成的是文件还是文件夹
f.mkdirs();//循环生成文件夹及其子文件夹
} else {
try {
if (!f.getParentFile().exists()) {//如果是创建包含文件夹的文件,必须先手动创建文件夹
f.getParentFile().mkdirs();
}
f.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
} //当为文件夹时,可以显示其子目录和文件
File f2 = new File("E:\\tommy_130923");
String[] fileNames = f2.list();//list会把文件和子目录都罗列出来
for(int i=0;i<fileNames.length;i++)
System.out.println(i+" "+fileNames[i]); System.out.println("***********************************");
File[] files = f2.listFiles();//以文件的格式返回所有的文件和子目录
for(int j=0;j<files.length;j++)
System.out.println(j+" "+files[j].getName()); //循环遍历文件
System.out.println("**************循环遍历文件*********************");
showFiles(f2);
} public static void showFiles(File f){
if(f.exists()&&f.isDirectory()){
File[] files = f.listFiles();
for(File file:files){
if(file.isDirectory())
showFiles(file);
else
System.out.println(file.getAbsolutePath());
} }else if(f.exists()&&f.isFile())
System.out.println(f.getAbsolutePath());
}
}

java的文件操作类File的更多相关文章

  1. java csv 文件 操作类

    一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...

  2. java FileUtil(文件操作类)

    package tools; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; i ...

  3. 文件操作类File

    File类:提供用于创建.复制.删除.移动和打开文件的静态方法.File类 FileInfo类:提供创建.复制.删除.移动和打开文件的属性和实例方法.FileInfo类 Directory类:公开用于 ...

  4. java 基础 —— 文件操作(File)

    1. 基本成员: File.separator public class File implements Serializable, Comparable<File> { private ...

  5. Java文件操作类效率对比

    前言 众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例: 面向字节流的:FileOutputStream 和 BufferedOutputStream 面向 ...

  6. JAVA文件操作类和文件夹的操作代码示例

    JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ...

  7. File 文件操作类 大全

    File  文件操作类  大全 许多人都会对文件操作感到很难  我也是  但是一个好的项目中必定会涉及到文件操作的 文件的复制 粘贴  等等等 公司大佬写了 一个文件操作的工具类 感觉还是棒棒的啦   ...

  8. android 文件操作类简易总结

    android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ...

  9. java中文件操作《一》

    在日常的开发中我们经常会碰到对文件的操作,在java中对文件的操作都在java.io包下,这个包下的类有File.inputStream.outputStream.FileInputStream.Fi ...

随机推荐

  1. [翻译]Event Handler Description 事件处理描述

    Event Handler Description 事件处理描述 (自定义控件)   How should a new event handler be defined if it does not ...

  2. 咏南中间件+开发框架支持最新的DELPHI 10.2 TOKYO

    咏南中间件+开发框架支持最新的DELPHI 10.2 TOKYO 价格十分优惠.有意者请向本人索取演示程序! 你只需花一套中间件的价格,就可获得:中间件,CS开发框架一套(赠送),BS开发框架一套(赠 ...

  3. Android-自定义圆环

    效果图: 布局的代码,指定引用自定义View类: <!-- 绘制圆环 --> <LinearLayout xmlns:android="http://schemas.and ...

  4. MVC ViewData与ViewBag的区别

    一.ViewData 1.ViewData派生自ViewDataDictionary,所以它具有字典的属性,例如:ContainsKey .Add .Remove 和 Clear : 2.字典键值是字 ...

  5. leetcode 最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串"". 示例 1: 输入: ["flower","flow" ...

  6. c# 利用t4模板,自动生成Model类

    我们在用ORM(比如dapper)的时候,很多时候都需要自己写Model层(当然也有很多orm框架自带了这种功能,比如ef),特别是表里字段比较多的时候,一个Model要写半天,而且Model如果用于 ...

  7. iOS 界面布局

    1. auto layout http://www.devtalking.com/articles/adaptive-layout-for-iphone6-1/ http://blog.sina.co ...

  8. 【ocp-12c】最新Oracle OCP-071考试题库(47题)

    47.(10-6)choose two You need to calculate the number of days from 1st January 2007 till date. Dates ...

  9. “全栈2019”Java多线程第六章:中断线程interrupt()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  10. [转] LVM分区在线扩容

    [转] LVM分区在线扩容 在线扩容的这台服务器,LV分区格式为xfs,原大小1.2TB.增加了一块硬盘,大小为1.8TB. fdisk /dev/cciss/c0d1 # 创建分区,并指定分区类型为 ...