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. Solr相似度算法一:DefaultSimilarity(基于TF-IDF的默认相似度算法)

    默认的similarity是基于TF/IDF 模块. 该 similarity有以下配置选项: discount_overlaps –确定是否重叠的标识(标记位置增量为0)都将被忽略在正常计算的时候. ...

  2. 新手上路,django学习笔记(1) 环境部署

    很多年没写代码了,以前学的C#,用ASP.NET,但是最近几年没落了,JAVA在崛起,最近感觉Python比较火,总是在各种技术场合听到Python,或者身边的朋友在讨论Python,所以突然想学习一 ...

  3. 如何让你的项目同时支持go vendor和go module

    目录 如何让你的项目同时支持go vendor和go module 1. go module简介 2. 使用go mod命令管理项目 2.1 初始化环境 2.2 构建 3. 保持兼容性 4. 使用go ...

  4. Web开发利器Webstorm导入多个文件夹或者项目

    步骤:File->Setting 打开设置面板,打开Directories节点,然后看到有Add Content Root 操作选项,单击弹出磁盘目录文件,选择对应项目或者目录即可.

  5. django系列3.3--view视图函数, render, reverse(未完待续)

    1.view视图函数 urls分发之后所用到的处理函数 2.render 用于渲染页面 在views.py中常用 from django.shortcuts import render, HttpRe ...

  6. LWIP

    LWIP 今天要谈的不是LWIP协议栈的内容,只是简单谈谈关于STM32F407快速使用LWIP做网络通讯的一些经历. 我是一个网络小白,对网络知识一窍不通,仅仅是知道有IP地址.网关这玩意,也从来没 ...

  7. “全栈2019”Java第八十八章:接口中嵌套接口的应用场景

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

  8. C语言中宏定义与C++中的内联函数

    一,宏定义:在预处理的时候把宏定义的内容替换到代码中,正常编译. 1,无参数宏定义和有参数宏定义 (1)宏定义不能加分号,比如:#define  PI 3.24;错的,#define  PI 3.24 ...

  9. CentOS6.5下openssh服务

    00×0 介绍 OpenSSH是使用SSH通过计算机网络加密通讯的实现.它是取代由SSH Communications Security所提供的商用版本的开放源代码方案.目前OpenSSH是OpenB ...

  10. mysql5.7.20多实例编译安装

    好记性不如烂笔头! MySQL多实例 实际上就是在同一台服务器上运行多个mysql服务进程. 相同点:公用同一套MySQL安装程序. 不同点:使用不同的配置文件(也可以相同).启动程序(也可以相同). ...