第三周:
pwd:打印当前目录
ls:打印当前目录下的所有文件
cd:跳转到dir文件夹
cat:打印file文件内容
mkdir:创建文件夹
cp:复制file中的内容到copy中
import java.io.BufferedReader;
import java.util.Scanner;
import java.io.File;
import java.io.*;
import java.lang.String;
public class shellOrder {
public static void main(String[] args) {
System.out.println("\npwd:打印当前目录\nls:打印当前目录下的所有文件\ncd:跳转到dir文件夹\ncat:打印file文件内容\nmkdir:创建文件夹\ncp:复制file中的内容到copy中\n输入“#”结束输入");
Scanner sc = new Scanner(System.in);
String curruntPath = System.getProperty("user.dir");
File dir =new File(curruntPath);
pwd ppwd = new pwd();
ls lls = new ls();
cd ccd = new cd();
cat ccat = new cat();
mkdir mmkdir = new mkdir();
cp ccp = new cp();
String str=null;
String strs = null;
while (!sc.hasNext("#")){
str = sc.nextLine();
strs = str.substring(0,2);
switch (strs) {
case "pw":
ppwd.pwd(dir);
break;
case "ls":
lls.ls(dir);
break;
case "cd":
File newdir = ccd.cd(str,dir);
dir = newdir;
break;
case "ca":
try{
ccat.cat(dir);
}catch(Exception ex){
break;
}
break;
case "mk":
mmkdir.mkdir(str,dir);
break;
case "cp":
try{
ccp.cp();
}catch(Exception ex){
break;
}
break;
}
}
}
}
class pwd{
public void pwd(File dir){
System.out.println(dir.getPath());
}
}
class ls{
public void ls(File dir){
String[] filelist = dir.list();
for(String str:filelist){
System.out.println(str);
}
}
}
class cd{
public File cd(String str,File dir){
String filename = str.substring(3);
if(filename.charAt(0) == '/'){//若要跳转到其他目录需要加'/'
File dirtt = new File(filename);
return dirtt;
}
String direction = dir.getPath() + "/" + filename;
File newdir = new File(direction);
return newdir;
}
}
class cat{
public void cat(File dir) throws Exception{
File sdir = dir;
InputStreamReader read=new InputStreamReader(new FileInputStream(sdir));
BufferedReader bufferedReader = new BufferedReader(read);
String str = null;
while((str = bufferedReader.readLine()) != null){
System.out.println(str);
}
}
}
class mkdir{
public void mkdir(String str,File dir){
String[] okk = str.split(" ");
String filename = okk[1];
File newfile = new File(dir.getPath() + "/" + filename);
if(!newfile.exists()){
newfile.mkdirs();
}
}
}
class cp{
public void cp() throws Exception{
System.out.println("输入copy文件的路径");
Scanner sc = new Scanner(System.in);
String cpfilename = sc.nextLine();
System.out.println("输入file文件的路径");
String filename = sc.nextLine();
File copy = new File(cpfilename);
FileWriter fw = new FileWriter(copy);
BufferedWriter bw = new BufferedWriter(fw);
InputStreamReader read=new InputStreamReader(new FileInputStream(filename));
BufferedReader bufferedReader = new BufferedReader(read);
String str = null;
while((str = bufferedReader.readLine()) != null){
bw.write(str+'\n');
}
bw.close();
}
}