怎么在一个目录下生成1000个文件,名字是0001.txt,0002.txt一直到1000.txt,然后讲每30个文件移入
一个子目录,要使用renameTo方法,生成dir001目录,dir002目录
我能生成1000个文件,但是名字怎么才能是000开头呢?30个文件放到一个子目录怎么办,不会,请多指教
一个子目录,要使用renameTo方法,生成dir001目录,dir002目录
我能生成1000个文件,但是名字怎么才能是000开头呢?30个文件放到一个子目录怎么办,不会,请多指教
try {
File tempFile=File.createTempFile("0001",".txt",tempPath);
System.out.println(tempFile.getAbsolutePath());
}catch(IOException e1){
System.out.println(e1);
}
int i = 1;
DecimalFormat numFmt = new DecimalFormat("0000");
System.out.println(numFmt.format(i));
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;public class FileCreator {
private NumberFormat nf1=new DecimalFormat("0000");
//数字的格式化,保持4位的输出,前几位如果没有则补零
private NumberFormat nf2=new DecimalFormat("000");
/**
* 在指定目录下创建1000个文本文件
*/
private void createFile(File dir){
if(dir.isDirectory()){//如果是目录
for(int i=1;i<=1000;i++){
//这里注意处理一下字符串
String newFilePath=dir.getAbsolutePath()+"\\"
+nf1.format(i)+".txt";
System.out.println(newFilePath);
try {
FileOutputStream fos=new FileOutputStream(newFilePath);
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
private void createFolder(File dir){
if(!dir.isDirectory())
return ;
//首先创建需要的目录 1000/30=33个目录
for(int i=1;i<=34;i++){
String newFolderPath=dir.getAbsolutePath()+"\\"+
"dir"+nf2.format(i);
File file=new File(newFolderPath);
if(!file.exists()&&!file.isDirectory()){
file.mkdir();
}
}
} private void removeFiles(File dir) {
for (int i = 1; i <34; i++) {// 每30个文件放入一个新目录
String folderPath=dir.getAbsolutePath()+"\\"+
"dir"+nf2.format(i);
// System.out.println(folderPath);
File folder=new File(folderPath);
for(int j=((i-1)*30+1);j<=(i*30);j++){ String filePath=dir.getAbsolutePath()+"\\"
+nf1.format(j)+".txt";
System.out.println(filePath);
File file=new File(filePath);
File newFile=new File(folder.getAbsoluteFile()+"\\"+
nf1.format(j)+".txt");
System.out.println(file.renameTo(newFile));
}
}
for (int j = 991; j <= 1000; j++) {
String folderPath = dir.getAbsolutePath() + "\\" + "dir"
+ nf2.format(34);
File folder = new File(folderPath);
String filePath = dir.getAbsolutePath() + "\\" + nf1.format(j)
+ ".txt";
System.out.println(filePath);
File file = new File(filePath); File newFile = new File(folder.getAbsoluteFile() + "\\"
+ nf1.format(j) + ".txt");
System.out.println(file.renameTo(newFile)); }
}
private void createNum(){
for(int i=1;i<=1000;i++){
System.out.println(nf1.format(i));
}
}
public static void main(String[] args){
File dir=new File("e:/test");
FileCreator fc=new FileCreator();
fc.createFile(dir);
fc.createFolder(dir);
fc.removeFiles(dir);
}
}