之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现

 package com.gh.file;

 import java.io.File;

 /**
* 批量文件命名
*
* @author ganhang
*
*/
public class FileRename {
public static String filepath = "F:\\学习\\JAVA\\JAVA_SE";// 要批量重命名的文件夹的地址
public static void main(String[] args) {
File file = new File(filepath);
File[] fileArrays = file.listFiles();
// 输出文件数量
System.out.println(fileArrays.length);
for (File f : fileArrays)
{
String filename = f.getName();
int len=0;
String newfileName = null;
if(filename.startsWith("**********JAVA.SE视频")){//避免广告用*代替了
len="**********JAVA.SE视频".length();
newfileName="Java"+filename.substring(len);
}
else if(filename.startsWith("******_JAVA基础")){
len="******_JAVA基础".length();
newfileName="Java"+filename.substring(len);
}
f.renameTo(new File(filepath+File.separator+newfileName));//重命名
}
File[] fileArrays1 = file.listFiles();//输出文件名看看
for (File fs : fileArrays1) {
System.out.println(fs.getName());
}
}
}

还有两个作业,补在这后面吧;

 package com.gh.homework;

 import java.io.File;

 /**
* 查找指定目录下以指定后缀名结尾的文件;
*
* @author ganhang
*
*/
public class FileDemo {
public static void findfile(File file, String extsName) {
if (file == null)
return;
if (file.isDirectory()) {
File[] fs = file.listFiles();
if (fs != null) {
for (File file2 : fs) {
findfile(file2, extsName);// 递归实现;
}
}
} else {
String path = file.getPath();
if (path.endsWith(extsName)) {
System.out.println(file.getPath());
}
}
} // 查找d盘下所有txt文件 输出路径;
public static void main(String[] args) {
File file = new File("d:\\");
String extsName = ".txt";
findfile(file, extsName);
}
}
package com.gh.homework;

import java.io.File;

/**
* 删除指定目录下以指定后缀名结尾的文件;
*
* @author ganhang
*
*/
public class FileDeleteDemo {
public static void deletefile(File file, String extsName) {
if (file == null)
return;
if (file.isDirectory()) {
if(file.length()==0){
file.delete();
System.out.println("已删除"+file.getPath());
}
File[] fs = file.listFiles();
if (fs != null) {
for (File file2 : fs) {
deletefile(file2, extsName);// 递归实现;
}
}
} else {
String path = file.getPath().toLowerCase();
if (path.endsWith(extsName)) {
//file.delete();
//System.out.println("已删除"+file.getPath());
}
}
} // 删除d盘下所有txt文件 输出路径;
public static void main(String[] args) {
File file = new File("f:\\");
String extsName = ".txt";
deletefile(file, extsName);
}
}

Java学习之IO之File类二的更多相关文章

  1. java学习笔记IO之File类

    File类总结 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times } p.p2 { margin: 0.0px 0.0px 0.0p ...

  2. Java学习之IO之File类一

    File的操作 package com.gh.file; import java.io.File; import java.io.IOException; /** * File操作 * @author ...

  3. Java学习笔记36(File类)

    File类可以对操作系统中的文件进行操作: File类的静态成员变量: package demo; import java.io.File; public class FileDemo { publi ...

  4. java学习笔记27(File类)

    File类: 定义:文件和目录径的抽象表示形式, Java中将路径或者文件封装成File对象 1.File类的静态成员变量 package com.zs.Demo2; import java.io.F ...

  5. Java—IO流 File类的常用API

    File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...

  6. java io包File类

    1.java io包File类, Java.io.File(File用于管理文件或目录: 所属套件:java.io)1)File对象,你只需在代码层次创建File对象,而不必关心计算机上真正是否存在对 ...

  7. java学习一目了然——IO

    java学习一目了然--IO IO是java学习当中很重要的一部分.IO流实现数据的上传下载,即读写数据,包括输入和输出流,输入流指的是将数据以字符或字节形式从外部媒介比如文件.数据库等读取到内存中所 ...

  8. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

  9. java学习笔记07--日期操作类

    java学习笔记07--日期操作类   一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...

随机推荐

  1. 线性规划问题的matlab求解

    函数:[x, fval] = linprog(f, A, b, Aeq, Beq, LB, UB) 返回的x:是一个向量——在取得目标函数最小时各个xi的取值: 返回的fval:目标函数的最小值: 参 ...

  2. Android基础之在Eclipes中关联SDK源码和查看SDK源码

    在进行Android应用开发的时候,我们有时候需要查看某个类或接口的源码从而了解如何去使用一个类或者实现一个接口,查看源码有助于我们的学习某个封装的类的底层是如何实现的,这样可以帮助我们掌握类或者接口 ...

  3. ceph启动脚本

    放在/etc/init.d/目录下,用法如下: root@u253:~# /etc/init.d/ceph === mon.a === usage: /etc/init.d/ceph [options ...

  4. Docker之dockerfile

    一.什么是dockerfile Docker通过对于在dockerfile中的一系列指令的顺序解析实现自动的Image的构建: 通过使用build命令,根据dockerfile的描述来构建镜像: bu ...

  5. STL: generate ,geterate_n

    在随机生成一定范围不重复数时用到random_shuffle函数,之前填充数组都是用for循环, 想到之前python中的range生成序列,于是在C++中找到对应的generate用来生成所需数组. ...

  6. linux定时任务crontab的设置

    linux定时任务crontab的设置http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html vi /etc/cronta ...

  7. centos7安装mysql5.6

    1.更新yum源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-communit ...

  8. elasticsearch-5.0.0初见

    基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档 ...

  9. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  10. widget intent重复问题

    今天在做android widget时发现点击任意widget时只会更新最后一个widget 原来是requestCode的问题 Intent intent = new Intent(WidgetPr ...