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!!!
浙公网安备 33010602011771号