• java文件相关的练习


    //复制
    import java.io.*;
    public class TestMain{
    	public static void main(String[] args){
    		FileInputStream fa=null;
    		FileOutputStream fb=null;
    		try{
    			File a=new File("C:\kms10.zip");//"C:\kms10.log",可以复制任何格式的文件
    			File b=new File("D:\java\object\"+a.getName());
    			b.delete();
    			fa=new FileInputStream(a);
    			fb=new FileOutputStream(b);
    			byte[] ba=new byte[1024];
    			int na=fa.read(ba);			
    			while(na!=-1){				
    				fb.write(ba,0,na);//将读取到的有效元素写入;				
    				na=fa.read(ba);
    			}
    		}catch(IOException e){
    			e.printStackTrace();
    		}finally{
    			try{
    				if(fa!=null){
    					fa.close();
    				}
    			}catch(IOException e){
    				e.printStackTrace();
    			}
    			try{				
    				if(fb!=null){
    					fb.close();
    				}
    			}catch(IOException e){
    				e.printStackTrace();
    			}
    		}
    	}
    }
    

      加密,解密 每一次数组的前两个元素位置互换;很多种方式

    import java.io.*;
    public class TestMain{	
    	private byte[] encryption(byte[] a){		
    		for(int i=0;i<a.length;i++){
    			a[i]=(byte)(a[i]+30);
    		}		
    		/*
    		byte temp=a[0];//数组中前2个字节换一下,记事本不适合;
    		a[0]=a[1];
    		a[1]=temp;
    		
    		*/		
    		return a;
    	}
    	private byte[] decrypt(byte[] b){			
    		for(int i=0;i<b.length;i++){
    			b[i]=(byte)(b[i]-30);
    		}				
    		/*
    		byte temp=b[0];
    		b[0]=b[1];
    		b[1]=temp;		
    		*/
    		return b;
    	}	
    	public static void main(String[] args){		
    		TestMain tm=new TestMain();
    		File faa=null;
    		File fbb=null;
    		try{//加密;
    			faa=new File("C:\kms10.log"); //任何格式的文件;//原文件;
    			fbb=new File("D:\java\object\"+faa.getName());//加密后文件;
    			FileInputStream fa=new FileInputStream(faa);
    			FileOutputStream fb=new FileOutputStream(fbb);
    			fbb.delete();
    			byte[] ba=new byte[1000];
    			int na=fa.read(ba);
    			while(na!=-1){
    				ba=tm.encryption(ba);				
    				fb.write(ba,0,na);
    				na=fa.read(ba);
    			}
    		}catch(IOException e){
    			e.printStackTrace();
    		}
    		try{//解密			
    			File dfbb=new File("D:\java\object\test\"+fbb.getName());//解密后文件
    			FileInputStream fb=new FileInputStream(fbb);//加密后文件流
    			FileOutputStream dfb=new FileOutputStream(dfbb);
    			dfbb.delete();
    			byte[] ba=new byte[1000];
    			int na=fb.read(ba);
    			while(na!=-1){
    				ba=tm.decrypt(ba);
    				dfb.write(ba,0,na);
    				na=fb.read(ba);
    			}
    		}catch(IOException e){
    			e.printStackTrace();
    		}		
    	}
    }
    

     复制文件、文件夹

    import java.io.*;
    public class TestMain{
    	public void getPath(File a){
    		File[] ason=a.listFiles();//获取a文件下的所有子文件夹对象;		
    		try{			
    			//System.out.println(a.getAbsoluteFile());	
    			//String ll=a.toString().replace("D:\java\object","D:\java1\object1");
    			//String ll=a.getAbsolutePath().replace("D:\java\object","D:\java1\object1");
    			//System.out.println(ll);
    			String ll="D:\1"+a.getAbsolutePath().split(":")[1];//新的路径;
    			
    			if(a.isDirectory()){//是文件夹?//复制文件夹			
    				File newA=new File(ll);
    				newA.mkdirs();
    				System.out.println(a.getName()+"复制文件夹完成");
    				if(ason.length!=0){//文件夹的话,需要判断是否递归
    					for(File v:ason){
    						this.getPath(v);
    					}
    				}				
    			}
    			if(a.isFile()){	//复制文件
    				new File(ll.substring(0,ll.length()-a.getName().length())).mkdirs();//创建目录,不然只有文件时,新的目录文件不存在;
    				FileInputStream fa=new FileInputStream(a);//文件流
    				FileOutputStream oa=new FileOutputStream(ll);
    				byte[] bb=new byte[1024];//1kb-8kb
    				int nfa=fa.read(bb);
    				while(nfa!=-1){
    					oa.write(bb,0,nfa);
    					nfa=fa.read(bb);//再读一遍;
    				}
    				System.out.println(a.getName()+"复制文件完成");
    			}
    		}catch(FileNotFoundException e){
    			e.printStackTrace();
    				
    		}catch(IOException e){
    			e.printStackTrace();
    		}
    	}
    	public static void main(String[] args){
    		TestMain tm=new TestMain();
    		//tm.getPath(new File("D:\java\object\yic"));//目录下有文件夹,文件
    		//tm.getPath(new File("D:\ddd\a.zip"));//文件
    		tm.getPath(new File("D:\ddd"));//空文件夹
    	}
    }
    

      

     

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    visual studio 2013运行时卡顿 CPU占用超50%的解决方法
    altium designer中Net Label 使用说明
    机器学习中的目标函数、损失函数、代价函数
    我的Android天气app
    序列交换
    挑战多重部分和问题
    kmp算法模式串匹配
    poj3259
    poj3255
    Redis工具类 单机+集群
  • 原文地址:https://www.cnblogs.com/canglongdao/p/12991651.html
Copyright © 2020-2023  润新知