java中文件操作大全
本文为本人在工作学习中的总结,每个方法都经过测试,记在博客上一方面是为了自己日后工作方便,另一方面是为了给大家提供方便,节约时间。
一.获得控制台用户输入的信息


/** *//**获得控制台用户输入的信息

* @return

* @throws IOException



public String getInputMessage() throws IOException...{


byte buffer[]=new byte[1024];

int count=System.in.read(buffer);


for(int i=0;i<count-2;i++)

ch[i]=(char)buffer[i];


return str;

}
可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。
二.复制文件
1.以文件流的方式复制文件


/** *//**以文件流的方式复制文件


* @param dest 文件目的目录

* @throws IOException



public void copyFile(String src,String dest) throws IOException...{


File file=new File(dest);

if(!file.exists())


FileOutputStream out=new FileOutputStream(file);

int c;



while((c=in.read(buffer))!=-1)...{


out.write(buffer[i]);

}


out.close();

}
该方法经过测试,支持中文处理,并且可以复制多种类型,比如txt,xml,jpg,doc等多种格式
三.写文件
1.利用PrintStream写文件


/** *//**


*/




try ...{


PrintStream p=new PrintStream(out);

for(int i=0;i<10;i++)



} catch (FileNotFoundException e) ...{


}

}
2.利用StringBuffer写文件


public void StringBufferDemo() throws IOException......{

File file=new File("/root/sms.log");


file.createNewFile();

FileOutputStream out=new FileOutputStream(file,true);


for(int i=0;i<10000;i++)......{

StringBuffer sb=new StringBuffer();


out.write(sb.toString().getBytes("utf-8"));

}


}
该方法可以设定使用何种编码,有效解决中文问题。
四.文件重命名



* @param path 文件目录

* @param oldname 原来的文件名


*/




if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名


File newfile=new File(path+"/"+newname);

if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名



else...{


}

}

五.转移文件目录
转移文件目录不等同于复制文件,复制文件是复制后两个目录都存在该文件,而转移文件目录则是转移后,只有新目录中存在该文件。


/** *//**转移文件目录


* @param oldpath 旧目录


* @param cover 若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作

*/


public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{



File oldfile=new File(oldpath+"/"+filename);

File newfile=new File(newpath+"/"+filename);


if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件

if(cover)//覆盖


else

System.out.println("在新目录下已经存在:"+filename);



else...{


}

}

六.读文件
1.利用FileInputStream读取文件


/** *//**读文件


* @return

* @throws IOException



resizeImage('http://images.wangchao.net.cn/images/upload/images/lsdn/11791738