PPT文件作业
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("合并成功!");
}
分解前:

分解后:


合并后:



浙公网安备 33010602011771号