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("合并成功!");
        }

分解前:

 分解后:

 合并后:

原文地址:https://www.cnblogs.com/fengchuiguobanxia/p/13934306.html