package myCopyDirectory;
import java.io.*;
import java.nio.channels.FileChannel;
SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class CopyDirectory {
static int numFileDir = 0;
static int numFile = 0;
static long sizeDir = 0;
public void initNum()
{
numFileDir = 0;
numFile = 0;
sizeDir = 0;
}
public void getInfoOfCopyFile(String path)
{
File file = new File(path);
if (ists())
{
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date;
if (file.isDirectory())
{
File[] listFile = file.listFiles();
for(int i=0;i<listFile.length;i++)
{
date = new Date(listFile[i].lastModified());
System.out.print(fmt.format(date) + " ");
if(listFile[i].isDirectory())
{
System.out.print("文件夹 ");
System.out.println(listFile[i].toString());
numFileDir++;
getInfoOfCopyFile(listFile[i].toString());
}
else
{
System.out.print("文 件 ");
System.out.println(listFile[i].toString() + "(大小:" + listFile[i].length() + " Byte)");
numFile++;
sizeDir += listFile[i].length();
}
}
}
else
{
date=new Date(file.lastModified());
System.out.print(fmt.format(date)+" ");
System.out.print("文件 ");
System.out.String() + "(大小:"+file.length() + " Byte)");
numFile++;
sizeDir += file.length();
}
}
else
{
System.out.println("文件或文件夹不存在!");
}
}
public void copyFiles(String sourcePath,String desPath) throws Exception
{
File fromFile = new File(sourcePath);
ists())
{
File desFile = new File(desPath);
ists())
{
System.out.println("目录" + desPath + "目录已经存在,复制文件操作失败!");
}
else
{
if(fromFile.isFile())
{
File newDesFile = new File(desPath);
ateNewFile();
FileInputStream inFile = new FileInputStream(fromFile);
FileOutputStream outFile = new FileOutputStream(newDesFile);
FileChannel inChannel = Channel();
FileChannel outChannel = Channel();
long bytesWritten = 0;
long byteCount = inChannel.size();
while(bytesWritten<byteCount)
{
bytesWritten += ansferTo(bytesWritten, byteCount - bytesWritten, outChannel);
}
// System.out.println("文件" + Name() + "已经成功复制到" + AbsolutePath() + ".");
inFile.close();
outFile.close();
}
else
{
if(desFile.mkdir())
{
// System.out.println("目录" + AbsolutePath() + "创建成功!");
File [] info = fromFile.listFiles();
for(int i=0;i<info.length;i++)
{
String desPathTemp = desPath+"\\"+info[i].getName();
copyFiles(info[i].getAbsolutePath(),desPathTemp);
}
}
else
{
System.out.println("目录" + AbsolutePath() + "创建失败!");
}
}
}
}
else
{
System.out.println("目录" + sourcePath + "不存在,文件复制操作失败!");
}
}
public void deleteFile (String sourcePath) throws Exception
{
File deleFile = new File(sourcePath);
if(!ists()){
System.out.println("路径不正确.");
}
else {
String fileName[] = deleFile.list();
for (int i=0;i<fileName.length;i++){
File f1 = new File(sourcePath,fileName[i]);
if (f1.isFile() || f1.length()==0){
f1.delete();
}
else if (f1.isDirectory())
{
// AbsolutePath());
AbsolutePath());
}
deleFile.delete();
}
}
}
public void meun(CopyDirectory copy) throws InterruptedException,IOException,Exception
{
int readSelect;
int choice = 1;
String str;
String sourcePath = null;
String desPath = null;
Scanner read = new Scanner(System.in);
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("欢迎使用文件删除和文件复制系统");
while (choice != 0) {
System.out.println("请选择您所需要的功能:");
System.out.println("1 文件删除");
System.out.println("2 文件复制");
System.out.print("请选择:");
readSelect = Int();
switch(readSelect){
java创建文件 case 1:{
System.out.println("请输入目录:");
sourcePath = adLine();
System.out.println("源目录的信息如下:");
System.out.println("最后修改时间 属性 名称");
InfoOfCopyFile(sourcePath);
System.out.println();
System.out.println("共有" + CopyDirectory.numFileDir + "个文件夹," + CopyDirectory.numFile + "文件,总大小为" + CopyDirectory.sizeDir + "Byte。");
System.out.println("正在删除,请稍等...");
copy.deleteFile(sourcePath);
System.out.println("共删除了" + CopyDirectory.numFileDir + "个文件夹," + CopyDirectory.numFile + "文件,总大小为" + CopyDirectory.sizeDir + "Byte。");
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论