首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java资料操作大全(转)

2012-12-28 
java文件操作大全(转)一.获得控制台用户输入的信息?Java代码??/**?*//**获得控制台用户输入的信息??????*?

java文件操作大全(转)

一.获得控制台用户输入的信息?

Java代码??java资料操作大全(转)
  1. /**?*//**获得控制台用户输入的信息?
  2. ?????*?@return?
  3. ?????*?@throws?IOException?
  4. ?????*/??
  5. ????public?String?getInputMessage()?throws?IOException...{??
  6. ????????System.out.println("请输入您的命令∶");??
  7. ????????byte?buffer[]=new?byte[1024];??
  8. ????????int?count=System.in.read(buffer);??
  9. ????????char[]?ch=new?char[count-2];//最后两位为结束符,删去不要??
  10. ????????for(int?i=0;i<count-2;i++)??
  11. ????????????ch[i]=(char)buffer[i];??
  12. ????????String?str=new?String(ch);??
  13. ????????return?str;??
  14. ????}??

可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。?


二.复制文件?

1.以文件流的方式复制文件?

Java代码??java资料操作大全(转)
  1. /**?*//**以文件流的方式复制文件?
  2. ?????*?@param?src?文件源目录?
  3. ?????*?@param?dest?文件目的目录?
  4. ?????*?@throws?IOException???
  5. ?????*/??
  6. ????public?void?copyFile(String?src,String?dest)?throws?IOException...{??
  7. ????????FileInputStream?in=new?FileInputStream(src);??
  8. ????????File?file=new?File(dest);??
  9. ????????if(!file.exists())??
  10. ????????????file.createNewFile();??
  11. ????????FileOutputStream?out=new?FileOutputStream(file);??
  12. ????????int?c;??
  13. ????????byte?buffer[]=new?byte[1024];??
  14. ????????while((c=in.read(buffer))!=-1)...{??
  15. ????????????for(int?i=0;i<c;i++)??
  16. ????????????????out.write(buffer[i]);??????????
  17. ????????}??
  18. ????????in.close();??
  19. ????????out.close();??
  20. ????}??

该方法经过测试,支持中文处理,并且可以复制多种类型,比如txt,xml,jpg,doc等多种格式?

三.写文件?

1.利用PrintStream写文件?

Java代码??java资料操作大全(转)
  1. /**?*//**?
  2. ?????*?文件输出示例?
  3. ?????*/??
  4. ????public?void?PrintStreamDemo()...{??
  5. ????????try?...{??
  6. ????????????FileOutputStream?out=new?FileOutputStream("D:/test.txt");??
  7. ????????????PrintStream?p=new?PrintStream(out);??
  8. ????????????for(int?i=0;i<10;i++)??
  9. ????????????????p.println("This?is?"+i+"?line");??
  10. ????????}?catch?(FileNotFoundException?e)?...{??
  11. ????????????e.printStackTrace();??
  12. ????????}??
  13. ????}??


2.利用StringBuffer写文件?

Java代码??java资料操作大全(转)
  1. public?void?StringBufferDemo()?throws?IOException......{??
  2. ????????File?file=new?File("/root/sms.log");??
  3. ????????if(!file.exists())??
  4. ????????????file.createNewFile();??
  5. ????????FileOutputStream?out=new?FileOutputStream(file,true);??????????
  6. ????????for(int?i=0;i<10000;i++)......{??
  7. ????????????StringBuffer?sb=new?StringBuffer();??
  8. ????????????sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题?");??
  9. ????????????out.write(sb.toString().getBytes("utf-8"));??
  10. ????????}??????????
  11. ????????out.close();??
  12. ????}??

该方法可以设定使用何种编码,有效解决中文问题。?

四.文件重命名?

Java代码??java资料操作大全(转)
  1. /**?*//**文件重命名?
  2. ?*?@param?path?文件目录?
  3. ?*?@param?oldname??原来的文件名?
  4. ?*?@param?newname?新文件名?
  5. ?*/??
  6. public?void?renameFile(String?path,String?oldname,String?newname)...{??
  7. ????if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名??
  8. ????????File?oldfile=new?File(path+"/"+oldname);??
  9. ????????File?newfile=new?File(path+"/"+newname);??
  10. ????????if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名??
  11. ????????????System.out.println(newname+"已经存在!");??
  12. ????????else...{??
  13. ????????????oldfile.renameTo(newfile);??
  14. ????????}???
  15. ????}???????????
  16. }??


五.转移文件目录?


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

Java代码??java资料操作大全(转)
  1. /**?*//**转移文件目录?
  2. ?*?@param?filename?文件名?
  3. ?*?@param?oldpath?旧目录?
  4. ?*?@param?newpath?新目录?
  5. ?*?@param?cover?若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作?
  6. ?*/??
  7. public?void?changeDirectory(String?filename,String?oldpath,String?newpath,boolean?cover)...{??
  8. ????if(!oldpath.equals(newpath))...{??
  9. ????????File?oldfile=new?File(oldpath+"/"+filename);??
  10. ????????File?newfile=new?File(newpath+"/"+filename);??
  11. ????????if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件??
  12. ????????????if(cover)//覆盖??
  13. ????????????????oldfile.renameTo(newfile);??
  14. ????????????else??
  15. ????????????????System.out.println("在新目录下已经存在:"+filename);??
  16. ????????}??
  17. ????????else...{??
  18. ????????????oldfile.renameTo(newfile);??
  19. ????????}??
  20. ????}?????????
  21. }??


六.读文件?

1.利用FileInputStream读取文件?

2.利用BufferedReader读取?

在IO操作,利用BufferedReader和BufferedWriter效率会更高一点?

3.利用dom4j读取xml文件?

Java代码??java资料操作大全(转)
  1. /**?*//**从目录中读取xml文件?
  2. ?*?@param?path?文件目录?
  3. ?*?@return?
  4. ?*?@throws?DocumentException?
  5. ?*?@throws?IOException?
  6. ?*/??
  7. public?Document?readXml(String?path)?throws?DocumentException,?IOException...{??
  8. ????File?file=new?File(path);??
  9. ????BufferedReader?bufferedreader?=?new?BufferedReader(new?FileReader(file));??
  10. ????SAXReader?saxreader?=?new?SAXReader();??
  11. ????Document?document?=?(Document)saxreader.read(bufferedreader);??
  12. ????bufferedreader.close();??
  13. ????return?document;??
  14. }??


七.创建文件(文件夹)?

1.创建文

热点排行