Java学习之IO二

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

 1 package com.gh.file;
 2
 3 import java.io.File;
 4
 5 /**
 6  * 批量文件命名
 7  *
 8  * @author ganhang
 9  *
10  */
11 public class FileRename {
12     public static String filepath = "F:\\学习\\JAVA\\JAVA_SE";// 要批量重命名的文件夹的地址
13     public static void main(String[] args) {
14         File file = new File(filepath);
15         File[] fileArrays = file.listFiles();
16         // 输出文件数量
17         System.out.println(fileArrays.length);
18         for (File f : fileArrays)
19         {
20             String filename = f.getName();
21             int len=0;
22             String newfileName = null;
23             if(filename.startsWith("**********JAVA.SE视频")){//避免广告用*代替了
24                 len="**********JAVA.SE视频".length();
25                 newfileName="Java"+filename.substring(len);
26             }
27             else if(filename.startsWith("******_JAVA基础")){
28                 len="******_JAVA基础".length();
29                 newfileName="Java"+filename.substring(len);
30             }
31             f.renameTo(new File(filepath+File.separator+newfileName));//重命名
32         }
33         File[] fileArrays1 = file.listFiles();//输出文件名看看
34         for (File fs : fileArrays1) {
35             System.out.println(fs.getName());
36         }
37     }
38 }

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

 1 package com.gh.homework;
 2
 3 import java.io.File;
 4
 5 /**
 6  * 查找指定目录下以指定后缀名结尾的文件;
 7  *
 8  * @author ganhang
 9  *
10  */
11 public class FileDemo {
12     public static void findfile(File file, String extsName) {
13         if (file == null)
14             return;
15         if (file.isDirectory()) {
16             File[] fs = file.listFiles();
17             if (fs != null) {
18                 for (File file2 : fs) {
19                     findfile(file2, extsName);// 递归实现;
20                 }
21             }
22         } else {
23             String path = file.getPath();
24             if (path.endsWith(extsName)) {
25                 System.out.println(file.getPath());
26             }
27         }
28     }
29
30     // 查找d盘下所有txt文件  输出路径;
31     public static void main(String[] args) {
32         File file = new File("d:\\");
33         String extsName = ".txt";
34         findfile(file, extsName);
35     }
36 }
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);
    }
}
时间: 2024-11-08 04:27:52

Java学习之IO二的相关文章

java学习之数组(二)

学编程吧java数组学习(二)发布了,欢迎大家通过xuebiancheng8.com来访问. 下面接着来分析数组,前面分析了什么是数组,为什么要用数组,下面来分析下如何使用数组 数组和其他数据类型一样,使用前要先定义.如下 int a[];这样就声明了一个数组 a = new int[10];然后为这个数组申请10个大小的空间 a[0] = 1; a[1] = 2; ....等等来为数组 赋值,为数组赋值完成后就可以通过下标来访问数组 当然数组在定义的时候也可以讲上面操作合并即 int a []

【Java学习笔记之二十六】深入理解Java匿名内部类

在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始化匿名内部类.匿名内部类使用的形参为何要为final. 一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者

Java学习之==>IO文件操作体系

一.概述 在整个 Java.io 中最重要的就是5个类和一个接口.5个类指的是 File.InputStream.OutputStream.Reader.Writer,一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了. File(文件类):主要用来描述文件或目录的属性,例如:文件大小,修改文件名,删除文件,判断文件所在路径等. InputStream(字节输入流):抽象类,基于字节的输入操作,是所有输入流的父类.定义了所有输入流

登录模块的进化史,带大家回顾java学习历程(二)

接着前面的登录模块的进化史,带大家回顾java学习历程(一) 继续往下面讲 前面我们去实现登录功能,都是想着要完成这个功能,直接在处理实际业务的类中去开始写具体的代码一步步实现,也就是面向过程的编程. 那么现在我们站在设计的角度上去实现该如何做呢?实际上在项目开发的时候,需求规划和数据库设计好之后,我们开始写代码,往往只用写一些接口出来,接口里面只有一些各个业务对应的空方法,没有具体的实现,在架构师进行接口设计的时候,就已经想好了该功能之后通过实现与调用这个接口肯定是可以实现的,等各个功能相关的

java学习-zxing生成二维码矩阵的简单例子

这个例子需要使用google的开源项目zxing的核心jar包 core-3.2.0.jar 可以百度搜索下载jar文件 也可使用maven添加依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.0</version> </dependency> 最简单的生成二维码的方法,

JAVA学习记录(二)————JAVA中的IO

Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. 数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流.数据写入程序可以是一段.一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流.对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后

【Java学习笔记之二十八】深入了解Java8新特性

前言: Java8 已经发布很久了,很多报道表明java8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency.Java 8 Date Time API Tutorial : LocalDateTime和Abstract Class Versus Interface in the JDK 8 Era.本文还参考了一些其他资料,例如:15 Must Read

初涉深度优先搜索--Java学习笔记(二)

版权声明: 本文由Faye_Zuo发布于http://www.cnblogs.com/zuofeiyi/, 本文可以被全部的转载或者部分使用,但请注明出处. 上周学习了数组和链表,有点基础了解以后,这周初步探索了一下深度优先搜索.对于文科生的我来说,这个名词听起来有点可怕.于是我通过leetcode上的一个难度为medium的题目来逐渐认识这个概念的.这道题目是Validate Binary Search Tree(题号为98).下面我将通过这道题作为引子,整理一下上周学习到的东西. 一.树.

【Java学习笔记之二十二】解析接口在Java继承中的用法及实例分析

一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口定义的一般形式为: [访问控制符]interface <接口名> { 类型标识符final 符号常量名n = 常数: 返回值类型  方法名([参数列表]); … } 二.接口的特点 1.Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显