java 文件编码unix_command.java

import java.io.*;import java.util.Date;public class Command { int di_addr[]=new int[20]; //int index; //int toti_num=10; public Command() { di_addr[0]=0; } public void ls() throws Exception { String line; String line2; // System.out.println(SystemInformation.cur_id); String datafile="datafile/"+SystemInformation.cur_id+".txt"; // System.out.println(datafile); FileInputStream fil=new FileInputStream(datafile); BufferedReader br=new BufferedReader(new InputStreamReader(fil)); while((line=br.readLine())!=null) { String result[]=line.split(" "); FileInputStream fis=new FileInputStream("inode.txt"); BufferedReader bufred=new BufferedReader(new InputStreamReader(fis)); while((line2=bufred.readLine())!=null) { String result2[]=line2.split(" "); if(result2[0].equals(result[1])) { System.out.print(line2); } } System.out.println(" "+result[0]); } } public void cat(String filename,boolean createnewfile) throws Exception { boolean findfile = false; //显示文件内容 if (!createnewfile) {String line;String line2;String file_id;String datafile = "datafile/" + SystemInformation.cur_id + ".txt";FileInputStream fil = new FileInputStream(datafile);BufferedReader br = new BufferedReader(new InputStreamReader(fil));// System.out.println("wo haha");while ((line = br.readLine()) != null) {String result[] = line.split(" ");if (result[0].equals(filename)) {// System.out.println("wo haha");file_id = result[1];String datafile2 = "datafile/" + file_id + ".txt";FileInputStream fil2 = new FileInputStream(datafile2);BufferedReader br2 = new BufferedReader(new InputStreamReader(fil2));while ((line2 = br2.readLine()) != null) {System.out.println(line2);findfile = true;}}} if(findfile==false) { System.out.println("没有那个文件"); } } //创建新文件 else { boolean duplicfile=false; String dupfileid=""; String datafile_abc="datafile/"+SystemInformation.cur_id+".txt"; BufferedReader br_abc=new BufferedReader(new FileReader(datafile_abc)); String readline_abc=br_abc.readLine(); while((readline_abc=br_abc.readLine())!=null) { String newresult[]=readline_abc.split(" "); if(newresult[0].equals(filename)) { dupfileid=newresult[1]; duplicfile=true; break; } } if (duplicfile == false) {// 写inodeString new_inode_information = null;int new_inode_num = -1;String line;FileInputStream fil = new FileInputStream("inode.txt");BufferedReader br = new BufferedReader(new InputStreamReader(fil));while ((line = br.readLine()) != null) {String result[] = line.split(" ");// System.out.println(result.length);if (result.length == 1) {Date d=new Date(); //d.toLocaleString();new_inode_information = result[0] + " " + "-rwxr-xr-x" + " "+ "rob" + " " + "root" + " " + "30" + " " + "1"+ " " + d.toLocaleString() + " "+ d.toLocaleString();new_inode_num = Integer.parseInt(result[0]);break;}}LineStrChange.setFileName("inode.txt");LineStrChange.changeLine(new_inode_information,new_inode_num + 1);// 在当前目录附加新文件记录String newdata = filename + " " + new_inode_num;String datafile = "datafile/" + SystemInformation.cur_id+ ".txt";BufferedReader br3 = new BufferedReader(new FileReader(datafile));String readbr3 = br3.readLine();FileWriter fw = new FileWriter(datafile, true);BufferedWriter bw = new BufferedWriter(fw);if (readbr3 != null) {bw.newLine();}bw.write(newdata);bw.flush();fw.close();br3.close();// 往新建文件写内容InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br2 = new BufferedReader(isr);// String inputline = br2.readLine();String inputline = null;String datafile2 = "datafile/" + new_inode_num + ".txt";FileWriter fw2 = new FileWriter(datafile2);BufferedWriter bw2 = new BufferedWriter(fw2);while ((inputline = br2.readLine()) != null&& (!inputline.equals("quit"))) {// inputline=br2.readLine();bw2.write(inputline);bw2.newLine();}bw2.write(" ");bw2.flush();fw2.close();} else { InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br2 = new BufferedReader(isr);// String inputline = br2.readLine();String inputline = null;String datafile2 = "datafile/" + dupfileid + ".txt";FileWriter fw2 = new FileWriter(datafile2);BufferedWriter bw2 = new BufferedWriter(fw2);while ((inputline = br2.readLine()) != null&& (!inputline.equals("quit"))) {bw2.write(inputline);bw2.newLine();}bw2.write(" ");bw2.flush();fw2.close(); } } } public void cd(String cddir) throws Exception { boolean finddir=false; String line; String datafile="datafile/"+SystemInformation.cur_id+".txt"; FileInputStream fil=new FileInputStream(datafile); BufferedReader br=new BufferedReader(new InputStreamReader(fil)); while((line=br.readLine())!=null) { String result[]=line.split(" "); if(result[0].equals(cddir)) { /*tempname=SystemInformation.father_dir; tempid=SystemInformation.fa_id; SystemInformation.father_dir=SystemInformation.cur_dir; SystemInformation.fa_id=SystemInformation.cur_id;*/ SystemInformation.cur_dir=cddir; int cur_id= Integer.parseInt(result[1]); SystemInformation.cur_id=cur_id; SystemInformation.path=SystemInformation.path+"/"+cddir; String path[]=SystemInformation.path.split("/"); int pathlength=path.length; di_addr[pathlength-1]=cur_id; /* System.out.println("path="+SystemInformation.path); System.out.println("curdir=" +SystemInformation.cur_dir); System.out.println("id="+SystemInformation.cur_id);*/ finddir=true; } } if(cddir.equals("..")) { //System.out.println("wohaha"); String path[]=SystemInformation.path.split("/"); int pathlength=path.length; // System.out.println(i); SystemInformation.path="root"; int m; for(m=1;m { SystemInformation.path=SystemInformation.path+"/"+path[m]; } SystemInformation.cur_dir=path[m]; SystemInformation.cur_id=di_addr[m-1]; /* System.out.println("path="+SystemInformation.path); System.out.println("curdir=" +SystemInformation.cur_dir); System.out.println("id="+SystemInformation.cur_id);*/ finddir=true; } if(!finddir) { System.out.println("没有那个目录"); //System.out.println(finddir); } } public void pwd() { System.out.println(SystemInformation.path); } public void mkdir(String dirname) throws IOException { // String s = Integer.toString(toti_num); String new_inode_information=null; int new_inode_num=-1; String line; FileInputStream fil=new FileInputStream("inode.txt"); BufferedReader br=new BufferedReader(new InputStreamReader(fil)); while((line=br.readLine())!=null) { String result[]=line.split(" "); //System.out.println(result.length); if(result.length==1) { Date d=new Date(); //d.toLocaleString(); new_inode_information=result[0]+" "+"drwxr-xr-x"+" "+"rob"+" "+"root"+" "+"30"+" "+ "1"+" "+d.toLocaleString()+" "+d.toLocaleString(); new_inode_num=Integer.parseInt(result[0]); break; } } LineStrChange.setFileName( "inode.txt" ); LineStrChange.changeLine(new_inode_information,new_inode_num+1); //write datafile //String new_i_num = Integer.toString(toti_num); String newdata=dirname+" "+new_inode_num; String datafile="datafile/"+SystemInformation.cur_id+".txt"; BufferedReader br2=new BufferedReader(new FileReader(datafile)); String readbr2=br2.readLine(); FileWriter fw=new FileWriter(datafile,true); BufferedWriter bw=new BufferedWriter(fw); if(readbr2!=null) { bw.newLine(); } bw.write(newdata); bw.flush(); fw.close(); br2.close(); //toti_num++; } public void rmdir(String dirname) throws IOException { String line; String dir_id=null; String datafile="datafile/"+SystemInformation.cur_id+".txt"; FileInputStream fil=new FileInputStream(datafile); BufferedReader br=new BufferedReader(new InputStreamReader(fil)); // System.out.println("wo haha"); int linenum=0; while((line=br.readLine())!=null) { linenum++; String result[]=line.split(" "); if(result[0].equals(dirname)) { //System.out.println("wo haha"); dir_id=result[1]; break; } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值