2016-9-6 批量给文件名的前面加上“igeek_高薪就业” 2、 利用FileInputStream和FileOutputStream复制文件
在此只列出典型题目,有的题目扫一眼就有代码的不去浪费时间了,想要完整题目的评论留邮箱,看到就发.持续更新中...
1、批量给文件名的前面加上“igeek_高薪就业”
package com.work;
import java.io.File;
public class Work0906 {
public static void main(String[] args) {
//1、批量给文件名的前面加上“igeek_高薪就业”
String path = "D:/wkexp/extjs";
String newName = "igeek_高薪就业";
File[] files = new File(path).listFiles();
rename(files,newName);
}
public static void rename(File[] files,String newName){
if(files==null)
return;
for(int i=0;i<files.length;i++){
//System.out.println("getParent "+files[i].getParent());
//System.out.println("getPath "+files[i].getPath());
//System.out.println("getAbsolutePath "+files[i].getAbsolutePath());
//System.out.println("getName "+files[i].getName());
//System.out.println(files[i].getAbsolutePath().lastIndexOf(File.separator));//File.separator与系统有关的默认名称分隔符。
//父目录 其实都多余
String path = files[i].getAbsolutePath().substring(0,files[i].getAbsolutePath().lastIndexOf(File.separator));
//System.out.println("path "+path);
//为文件的情况
if(files[i].isFile() && files[i].exists()){
//获取文件后缀名(非文件夹)设置起始点为0可以获取文件名(去后缀),写在这儿吧,实际用不到 其实都多余
//String extension = files[i].getName().lastIndexOf(".")!=-1?files[i].getName().substring(files[i].getName().lastIndexOf(".")):"";
//System.out.println(files[i].getName());
//创建新的文件替换原来的文件
files[i].renameTo(new File(path+"/"+newName+files[i].getName()));
}
//目录的情况暂时不考虑,思路是复制目录下所有的文件,但是应该有更简洁的办法
}
}
}

写下来竟然也花了半个小时的时间,出乎意料,主要开始想的太多了,本想分成文件和文件夹2中形式,再将文件名拆分成前缀和后缀,忘记有renameTo这个方法了,不过也好这样对文件目录的操作又熟悉了,下次2分钟搞定,
果然还是要先有思路,自己能想到有可能的快捷封装方法,前人必定也想到了,哈哈
2、利用FileInputStream和FileOutputStream复制文件
public static void copy() throws Exception{
String goalName = "copy.txt";
FileInputStream fis = new FileInputStream(new File("D:/wkexp/extjs/igeek_高薪就业igeek_高薪就业igeek_高薪就业CSXY.txt"));
FileOutputStream fos = new FileOutputStream(new File("D:/wkexp/extjs/copy.txt"));
byte[] buff = new byte[512];//我直接用了字节数组,已经知道2者性能
int len=0;
//FileInputStream read方法达到文件尾返回-1
while((len = fis.read(buff))!=-1){
fos.write(buff, 0, (int) len);
}
fos.flush();
fos.close();
fis.close();
}
这个到时很快,5分钟刚搞定,共能实现,就这样吧,顺便扫了一眼api文档,还是有东西会遗忘的,熟练度啊熟练度,果然不写就忘

2016-9-6 批量给文件名的前面加上“igeek_高薪就业” 2、 利用FileInputStream和FileOutputStream复制文件的更多相关文章
- Python 批量修改文件名
最近下载了几部美剧(越狱.迷失.权利的游戏......),每集文件名都好长好长..想改短一些,但一个一个改太累了,于是写了个脚本来实现批量修改: 修改前文件名: 修改后文件名: 代码实现: #enco ...
- 使用Java中File类批量创建文件和批量修改文件名
批量创建文件 int cont = 1; String s = "E:\\学习资料\\Java笔记-"; while(cont<100){ File f = new File ...
- Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等
http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.html linux下二进制文件查找: strings 0000.ts | grep -o " ...
- [转载][记录]shell 批量修改文件名
参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while ...
- linux批量修改文件名的shell脚本
linux中批量修改文件名的shell脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下 使用 rename 命令 ======================== NAME ...
- 用python批量修改文件名
从youtube上当下来百来首mv,每个都需要去掉视频,这还挺好弄得,格式工厂一弄就完了,但是文件名,都带有乱七八糟的*啥的巴拉巴拉的,咋修改啊,几百首总不可能一个一个rename吧 #批量修改文件名 ...
- Linux下批量修改文件名方法
对于在Linux中修改文件名的方式一般我们会用mv命令进行修改,但是mv命令是无法处理大量文件修改名称. 但是在处理大量文件的时候该如何进行批量修改呢? 方法一:mv配合for循环方式进行修改 [ro ...
- windows下如何批量修改文件名
windows下如何批量修改文件名 一.总结 一句话总结:就是用excel生成了多条修改文件名的dos命令然后执行,比较核心的就是把图片名称导入excel 将图片名称导入excel---编写如下DOS ...
- C# 批量修改文件名
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
随机推荐
- sql性能优化小技巧(一)
关于sql条件匹配对执行效率影响测试 首先,创建一个标量函数create function ff_test() returns int as begin declare @i int=0 while( ...
- RESTFul Web Api 服务框架(一)
简介: 基于 REST 的 Web 服务日益成为后端企业服务集成的首选,因为它比 SOAP 更加简单.这篇文章介绍了一 个简单的可扩展框架,使用Asp.net Web Api作为 REST 服务的实现 ...
- Spring整合CXF之发布WebService服务
今天我们来讲下如何用Spring来整合CXF,来发布WebService服务: 给下官方文档地址:http://cxf.apache.org/docs/writing-a-service-with-s ...
- 玩儿了一下django User authentication
五一在家,VPN不能链接了,而项目在本地run的过程中,又需要链接公司的SSO server才能login.下雨,不想去公司,又不得不在家做task,只能想办法避开SSO login,以前知道djan ...
- 转:ASP.NET MVC利用TryUpdateModel来做资料更新 (一)
前言有使用 ASP.NET MVC 的朋友们一定多多少少有听过 TryUpdateModel,之前就看了很多有关它的文章,但在专案实务上都未曾实际使用过,而 TryUpdateModel 不仅能利用 ...
- 【转】(转)【Android】Paint的效果研究
转自:http://wpf814533631.iteye.com/blog/1847661 (转)[Android]Paint的效果研究 博客分类: android 在Paint中有很多的属性可以 ...
- 我的工具箱之Securecrt6.5.0
Securecrt是一款支持SSH的终端仿真软件,一般用于连接Linux/Unix系统.感觉这个比Putty强些. 下载地址是:http://pan.baidu.com/s/1gednNhh
- docker启动Mysql(转)
cs202@cs202-devbox:~$ sudo docker run -d mysql7698fdd7a2d05d38cf19c60cc9e35c1117fc551ae5e31914494715 ...
- Siri开源了,33%的开发者持疑虑态度,你呢?
33%的中国开发者对Siri 开放持疑虑态度? 目前来说在iOS 10中,Siri API仅仅支持六类应用程序:打车,通讯,照片搜索,支付,网络电话和锻炼.另外还有一个面向汽车制造商的特殊使用案例,让 ...
- yum报错: Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
在Centos 5.x或6.x上安装RHEL EPEL Repo repository,资源库,源的意思.RHEL EPEL(Extra Packages for Enterprise Linux) ...