1
.
System.out.println("请输入文件夹的地址: "); String address; Scanner sc=new Scanner(System.in); address=sc.nextLine(); File folder=new File(address); int sum=0; if(!folder.exists()) { System.out.println("文件夹不存在!"); } else { File[] fileArray=folder.listFiles(); byte[] bytes=new byte[1024]; int i; for(i=0;i<fileArray.length;i++) { int num; FileInputStream filereader=new FileInputStream(fileArray[i]); while((num=filereader.read(bytes))!=-1) { sum=sum+num; } filereader.close(); } } System.out.println("文件夹的容量为:"+sum+"字节");
运行结果
2.
System.out.println("请输入文件的地址: "); String address; Scanner sc=new Scanner(System.in); address=sc.nextLine(); File file=new File(address); int sum=0; String strall=""; if(!file.exists()) { System.out.println("文件不存在!"); } else { byte[] bytes=new byte[1024]; int i; int num; FileInputStream filereader=new FileInputStream(file); System.out.println("1.加密文件\n2.解密文件\n"); int flag=0; flag=sc.nextInt(); if(flag==1) { while((num=filereader.read(bytes))!=-1) { byte[] bytess=new byte[1024]; for(int j=0;j<num;j++) { bytess[j]=(byte) (bytes[j]+1); } String str=new String(bytess,0,num,"GBK"); strall=strall+str; } FileOutputStream filewriter=new FileOutputStream(file); filewriter.write(strall.getBytes()); filereader.close(); filewriter.close(); System.out.println("加密完成!"); } if(flag==2) { while((num=filereader.read(bytes))!=-1) { byte[] bytess=new byte[1024]; for(int j=0;j<num;j++) { bytess[j]=(byte) (bytes[j]-1); } String str=new String(bytess,0,num,"GBK"); strall=strall+str; } FileOutputStream filewriter=new FileOutputStream(file); filewriter.write(strall.getBytes()); filereader.close(); filewriter.close(); System.out.println("解密完成!"); } }
文件未加密前:
加密后
文件解密:
3.
System.out.println("1.分解文件。2.合并文件"); Scanner sc=new Scanner(System.in); int FLAG=0; FLAG=sc.nextInt(); if(FLAG==1) { System.out.println("请输入要分解的文件地址: "); String address; address=sc.next(); File file=new File(address); int sum=0; System.out.println("请输入文件分解后保存地址:"); String add; add=sc.next(); if(!file.exists()) { System.out.println("文件不存在!"); } else { byte[] bytes=new byte[1024]; int i; int num=0; int flag=0; FileInputStream filereader=new FileInputStream(file); for(i=1;num!=-1;i++) { String strall=""; while((num=filereader.read(bytes))!=-1&&flag<512) { String str=new String(bytes,0,num); strall=strall+str; flag++; } String Add=add+"\\"+"file"+i+".txt"; File fileadd=new File(Add); FileOutputStream filewriter=new FileOutputStream(fileadd); filewriter.write(strall.getBytes()); filewriter.close(); flag=0; } filereader.close(); System.out.println("分解完成!"); } } if(FLAG==2) { System.out.println("请输入合并后的文件地址:"); String Straddress; Straddress=sc.next(); File file=new File(Straddress); System.out.println("请输入要合并的文件数量:"); int num=0; num=sc.nextInt(); String[] straddress=new String[num]; System.out.println("请依次输入文件地址:"); for(int i=0;i<num;i++) { straddress[i]=sc.next(); } File[] files=new File[num]; for(int i=0;i<num;i++) { files[i]=new File(straddress[i]); } FileOutputStream filewriter=new FileOutputStream(file,true); for(int i=0;i<num;i++) { int numm; FileInputStream filereader=new FileInputStream(files[i]); byte[] bytes=new byte[1024]; String strall=""; while((numm=filereader.read(bytes))!=-1) { String str=new String(bytes,0,numm); strall=strall+str; } filewriter.write(strall.getBytes()); filereader.close(); } filewriter.close(); System.out.println("合并成功!"); }
分解前:
分解后:
合并后: