import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class FileOperation {
private String add=null;
private String name=null;
public void creatDirectory(){
Scanner out=new Scanner(System.in);
System.out.println("请输入要创建的文件夹地址:");
add=out.next();
File directory=new File(add);
if(directory.mkdirs()) System.out.println("创建成功");
else System.out.println("创建失败");
}
public void deleteDirectory(){
Scanner out=new Scanner(System.in);
System.out.println("请输入删除的文件夹地址:");
add=out.next();
File directory=new File(add);
if(directory.delete()) System.out.println("删除成功");
else System.out.println("删除失败");
}
public void creatFile() throws IOException {
Scanner out=new Scanner(System.in);
System.out.println("请输入要创建文件的地址:");
add=out.next();
File file=new File(add);
if(file.createNewFile())System.out.println("文件"+"创建成功");
else System.out.println("文件"+"创建失败");
}
public void deleteFile(){
Scanner out=new Scanner(System.in);
System.out.println("请输入要删除文件的地址:");
add=out.next();
File file=new File(add);
if(file.delete()) System.out.println("删除成功");
else System.out.println("删除失败");
}
public void writeFile() throws IOException {
Scanner out=new Scanner(System.in);
System.out.println("请输入要写入的文件的地址:");
add=out.next();
System.out.println("请输入要写入的内容:");
Scanner out2=new Scanner(System.in);
String data=out2.next();
FileWriter fileWriter=new FileWriter(add);
BufferedWriter w = new BufferedWriter(fileWriter);
w.write(data);
w.flush(); // 把缓存区内容压入文件
w.close();
}
public void readFile() throws IOException {
Scanner out=new Scanner(System.in);
System.out.println("请输入要读取的文件的地址:");
add=out.next();
FileReader fileReader=new FileReader(add);
char[] chs = new char[1];
while(fileReader.read(chs) != -1){ //每次读1024个字符
System.out.print(chs);
}
System.out.println("");
}
public void copyImageFile() throws IOException {
Scanner out=new Scanner(System.in);
System.out.println("请输入要复制文件的旧地址:");
String oldAdd=out.next();
Scanner out2=new Scanner(System.in);
System.out.println("请输入要复制文件的新地址:");
String newAdd=out2.next();
FileInputStream fis = new FileInputStream(oldAdd);
BufferedInputStream bis =new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream(newAdd);
BufferedOutputStream bos =new BufferedOutputStream(fos);
int read;
while ((read = bis.read())!=-1){
bos.write(read);
}
bis.close();
bos.close();
fis.close();
fos.close();
System.out.println("复制成功");
}
public void changeDirectory() throws IOException {
Scanner out=new Scanner(System.in);
System.out.println("请输入文件的旧路径:");
String oldAdd=out.next();
Scanner out2=new Scanner(System.in);
System.out.println("请输入文件的新路径:");
String newAdd=out2.next();
FileInputStream fis = new FileInputStream(oldAdd);
BufferedInputStream bis =new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream(newAdd);
BufferedOutputStream bos =new BufferedOutputStream(fos);
int read;
while ((read = bis.read())!=-1){
bos.write(read);
}
bis.close();
bos.close();
fis.close();
fos.close();
File file=new File(oldAdd);
file.delete();
System.out.println("更改成功");
}
public void listFile(){
Scanner out=new Scanner(System.in);
System.out.println("请输入要展示内容的文件的地址:");
add=out.next();
File file=new File(add);
// 获取文件列表
File[] fileList = file.listFiles();
for (File files : fileList) {
System.out.println("文件名称:"+files.getName()+" 修改日期"+files.lastModified()+" 文件大小:"+files.length());
}
}
public static void main(String[] args) throws IOException {
FileOperation fileOperation=new FileOperation();
System.out.println("创建文件夹:createDir, 删除文件夹:deleteDir, 创建文件:createFile, 删除文件:deleteFile\n写入文件:write, 读取文件:read, 复制文件:copy, 改变文件路径:change, 列出文件夹下文件:list\n结束:exit");
String cmd=null;
while(true){
Scanner out=new Scanner(System.in);
cmd=out.next();
switch (cmd){
case "createDir":
fileOperation.creatDirectory();
continue;
case "deleteDir":
fileOperation.deleteDirectory();
continue;
case "createFile":
fileOperation.creatFile();
continue;
case "deleteFile":
fileOperation.deleteFile();
continue;
case "write" :
fileOperation.writeFile();
continue;
case "read":
fileOperation.readFile();
continue;
case "copy":
fileOperation.copyImageFile();
continue;
case "change":
fileOperation.changeDirectory();
continue;
case "list":
fileOperation.listFile();
continue;
case"exit":
break;
default:
System.out.println("请输入正确指令");
}
}
}
}
水点积分 — —