java海贼王_Java 学以致用--为我的海贼王统一命名
有了新的移动硬盘,于是一口气下了650集的海贼王,于是,需求来了。
虽然不是处女座,但也难以容忍600多集的海贼王一会儿这个命名格式,一会儿另一种命名格式。于是想到了自己是个IT人,于是想通过编程统一命名格式。
1,需求,要保留每一个文件的集数显示,但是要统一格式,主要有下面三种文件形式。
我们可以分析出,集数都是集中在一起作为文件名的一个连续字符串,于是想到通过获得收尾数字的位置,然后截取字符串,于是有了下面的方法。
public static String changeName2(String name) {
int m = 0, n = 0;
for (int i = 0; i < name.length(); i++) {
if (name.charAt(i) - '0' >= 0 && name.charAt(i) - '9' <= 0) {
m = i;
break;
}
}
for (int i = name.length() - 1; i >= 0; i--) {
if (name.charAt(i) - '0' >= 0 && name.charAt(i) - '9' <= 0) {
n = i;
break;
}
}
return name.substring(m, n + 1);
}
运行代码后发现了问题,有的文件格式是mp4格式的,mp4中的4影响了我截取集数,于是只要再上面方法中重新加了个判断,如果有mp4,于是给删了,新方法如下:
public static String changeName2(String name) {
if (name.contains("mp4")) {
name = name.replace("mp4", "");
}
int m = 0, n = 0;
for (int i = 0; i < name.length(); i++) {
if (name.charAt(i) - '0' >= 0 && name.charAt(i) - '9' <= 0) {
m = i;
break;
}
}
for (int i = name.length() - 1; i >= 0; i--) {
if (name.charAt(i) - '0' >= 0 && name.charAt(i) - '9' <= 0) {
n = i;
break;
}
}
return name.substring(m, n + 1);
}
2,重新运行了一遍,终于全部搞定,就是处女座也不要挑刺了。贴上全部代码。
package MyJava;
import java.io.File;
import java.util.ArrayList;
public class SunTest {
public static void main(String[] args) {
ArrayList fileNames = getFileNames();
for (String name : fileNames) {
System.out.println(name);
}
}
/**
* 得到所有文件的文件名
*
* @return
*/
public static ArrayList getFileNames() {
ArrayList nameList = new ArrayList();
File mydir = new File("H://onepiece");
File[] listFiles = mydir.listFiles();
for (File file : listFiles) {
String filename = file.getName();
filename = changeName2(filename);
boolean result = file.renameTo(new File("H://onepiece",
"[one_piece-海贼王][" + filename + "].rmvb"));
System.out.println(result);
nameList.add(file.getName());
}
return nameList;
}
/**
* 输入文件名,返回需要的集数字符串
*
* @param name
* @return
*/
public static String changeName2(String name) {
if (name.contains("mp4")) {
name = name.replace("mp4", "");
}
int m = 0, n = 0;
for (int i = 0; i < name.length(); i++) {
if (name.charAt(i) - '0' >= 0 && name.charAt(i) - '9' <= 0) {
m = i;
break;
}
}
for (int i = name.length() - 1; i >= 0; i--) {
if (name.charAt(i) - '0' >= 0 && name.charAt(i) - '9' <= 0) {
n = i;
break;
}
}
return name.substring(m, n + 1);
}
}
3,其实代码没什么难度,原先我是打算一个个改的,但现在能学以致用心里还是很舒服的。敲代码,不只是为了生活,还应该是一种。贴上效果图一张。
java海贼王_Java 学以致用--为我的海贼王统一命名相关推荐
- 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...
- 海贼王之索隆是按照海贼王动画片为基础模型改编的
海贼王之索隆是按照海贼王动画片为基础模型改编的.战斗模式是回合制的,先去找各个地方领取任务,然后跑到相应的地图去完成任务,人物完毕后会得到奖励, 但是不要光顾了杀怪忘记恢复,很容game over的. ...
- 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)
黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...
- 什么是java内省_Java内省实例解析
图像中轮廓的个数,里面vector的size代表了轮廓上点的个数.了解JavaBean 内省对应的英文单词为IntroSpector,它主要用于对JavaBean进行操作,JavaBean是一种特殊的 ...
- java 必备_Java基础必备
标签: 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希 ...
- Java继承_Java面试题总结(一)
1.JDK和JRE有什么区别? JDK:Java 的开发工具包,提供了 Java 的开发环境和运行环境 JRE:Java 的运行环境,为 Java 的运行提供了所需环境 具体来说:JDK 其实包含了 ...
- php和java语言_JAVA语言和PHP语言的比较
JAVA语言和PHP语言的比较 JAVA语言在服务器端开发的流行以及安卓客户端开发的流行,让他占据了大部分市场份额.在服务器端还有一个语言也较为流行,就是PHP.PHP语言由于简单易学,响应速度快,在 ...
- future java 原理_Java线程池FutureTask实现原理详解
前言 线程池可以并发执行多个任务,有些时候,我们可能想要跟踪任务的执行结果,甚至在一定时间内,如果任务没有执行完成,我们可能还想要取消任务的执行,为了支持这一特性,ThreadPoolExecutor ...
- 简单java题_java
1.简单说明java的异常处理策略. 答: 1.将各类错误统一封装成异常对象 将各种不同原因引发的错误处理成"异常对象",为建立统一的异常处理机制奠定基础.异常处理就是捕获并处理该 ...
- java练习_Java基础笔试练习(一)
Java基础笔试练习(一) 1. 若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于() ? A.本地方法 B.最终方法 C.静态方法 D.抽 ...
最新文章
- Hibernate 中配置属性详解(hibernate.properties)
- 服务器上的VGA切换原理,VGA切换器使用方法和常见问题说明
- 给定三角形 ABC 和一点 P(x,y,z),判断点 P 是否在 ABC 内,给出思路并手写代码
- 如何查找Fiori UI上某个字段对应的后台存储表的名称
- PAT_B_1035_Java(25分)
- 服务器网盘系统怎么装,云服务器上怎么安装操作系统
- Git 远程配置_03
- 解决 PL/SQL Oracle错误:ORA-01033
- Eclipse 自动清理未使用 Import
- vue移动端项目使用自定义字体
- 抢红包算法 c++_【优化求解】基于粒子群算法的光伏电池MPPT控制策略
- 【大数据----Spark】Spark入门教程[3]
- 阿里滑块 某宝的x82y解决方法、x5sec
- 回首风雨路 笔记本二十年发展史
- UPS不间断电源测试技巧有哪些?
- oppo手机html文件管理,oppo手机文件管理里面的文件可不可以删除
- 鸡尾酒分类和制作材料中英文名
- DDoS 受控攻击源地域分布
- 2022年建筑电工(建筑特殊工种)考试模拟100题模拟考试平台操作
- 2021年3月四篇深度学习论文推荐
热门文章
- mysql 通过经纬度查询附近的地点位置
- android wight
- matlab中逗号分号冒号方括号,matlab中分号、冒号、逗号等常用标点符号的功能和用法总结...
- Arduino上U8g2库自定义中文库的经历
- 【U8+】用友U8+16.1不自动删除历史的自动备份文件
- 电脑搜索文件的服务器,Archivarius注册版
- Android序列化之Parcel
- 史上最全的信息收集总结!!!
- 远程桌面 服务器握手,《易语言远程控制技术教程》第2课_远程桌面(你的桌面我作主)王军...
- fpga驱动ad9854重大bug——已解决!