




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一.获得控制台用户输入的信息 Java代码 1. /*/*获得控制台用户输入的信息 2. *return 3. *throwsIOException 4. */5. publicStringgetInputMessage()throwsIOException. 6. System.out.println(请输入您的命令); 7. bytebuffer=newbyte1024; 8. intcount=System.in.read(buffer); 9. charch=newcharcount-2;/最后两位为结束符,删去不要 10. for(inti=0;icount-2;i+) 11. chi=(char)bufferi; 12. Stringstr=newString(ch); 13. returnstr; 14. /* */*获得控制台用户输入的信息 * return * throws IOException */ public String getInputMessage() throws IOException. System.out.println(请输入您的命令); byte buffer=new byte1024; int count=System.in.read(buffer); char ch=new charcount-2;/最后两位为结束符,删去不要 for(int i=0;icount-2;i+) chi=(char)bufferi; String str=new String(ch); return str; 可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。 二.复制文件 1.以文件流的方式复制文件 Java代码 1. /*/*以文件流的方式复制文件 2. *paramsrc文件源目录 3. *paramdest文件目的目录 4. *throwsIOException 5. */6. publicvoidcopyFile(Stringsrc,Stringdest)throwsIOException. 7. FileInputStreamin=newFileInputStream(src); 8. Filefile=newFile(dest); 9. if(!file.exists() 10. file.createNewFile(); 11. FileOutputStreamout=newFileOutputStream(file); 12. intc; 13. bytebuffer=newbyte1024; 14. while(c=in.read(buffer)!=-1). 15. for(inti=0;ic;i+) 16. out.write(bufferi); 17. 18. in.close(); 19. out.close(); 20. /* */*以文件流的方式复制文件 * param src 文件源目录 * param dest 文件目的目录 * throws IOException */ public void copyFile(String src,String dest) throws IOException. FileInputStream in=new FileInputStream(src); File file=new File(dest); if(!file.exists() file.createNewFile(); FileOutputStream out=new FileOutputStream(file); int c; byte buffer=new byte1024; while(c=in.read(buffer)!=-1). for(int i=0;ic;i+) out.write(bufferi); in.close(); out.close(); 该方法经过测试,支持中文处理,并且可以复制多种类型,比如txt,xml,jpg,doc等多种格式 三.写文件 1.利用PrintStream写文件 Java代码 1. /*/* 2. *文件输出示例 3. */4. publicvoidPrintStreamDemo(). 5. try. 6. FileOutputStreamout=newFileOutputStream(D:/test.txt); 7. PrintStreamp=newPrintStream(out); 8. for(inti=0;i10;i+) 9. p.println(Thisis+i+line); 10. catch(FileNotFoundExceptione). 11. e.printStackTrace(); 12. 13. /* */* * 文件输出示例 */ public void PrintStreamDemo(). try . FileOutputStream out=new FileOutputStream(D:/test.txt); PrintStream p=new PrintStream(out); for(int i=0;i10;i+) p.println(This is +i+ line); catch (FileNotFoundException e) . e.printStackTrace(); 2.利用StringBuffer写文件 Java代码 1. publicvoidStringBufferDemo()throwsIOException. 2. Filefile=newFile(/root/sms.log); 3. if(!file.exists() 4. file.createNewFile(); 5. FileOutputStreamout=newFileOutputStream(file,true); 6. for(inti=0;i10000;i+). 7. StringBuffersb=newStringBuffer(); 8. sb.append(这是第+i+行:前面介绍的各种方法都不关用,为什么总是奇怪的问题); 9. out.write(sb.toString().getBytes(utf-8); 10. 11. out.close(); 12. public void StringBufferDemo() throws IOException. File file=new File(/root/sms.log); if(!file.exists() file.createNewFile(); FileOutputStream out=new FileOutputStream(file,true); for(int i=0;i10000;i+). StringBuffer sb=new StringBuffer(); sb.append(这是第+i+行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 ); out.write(sb.toString().getBytes(utf-8); out.close(); 该方法可以设定使用何种编码,有效解决中文问题。 四.文件重命名 Java代码 1. /*/*文件重命名 2. *parampath文件目录 3. *paramoldname原来的文件名 4. *paramnewname新文件名 5. */6. publicvoidrenameFile(Stringpath,Stringoldname,Stringnewname). 7. if(!oldname.equals(newname)./新的文件名和以前文件名不同时,才有必要进行重命名 8. Fileoldfile=newFile(path+/+oldname); 9. Filenewfile=newFile(path+/+newname); 10. if(newfile.exists()/若在该目录下已经有一个文件和新文件名相同,则不允许重命名 11. System.out.println(newname+已经存在!); 12. else. 13. oldfile.renameTo(newfile); 14. 15. 16. /* */*文件重命名 * param path 文件目录 * param oldname 原来的文件名 * param newname 新文件名 */ public void renameFile(String path,String oldname,String newname). if(!oldname.equals(newname)./新的文件名和以前文件名不同时,才有必要进行重命名 File oldfile=new File(path+/+oldname); File newfile=new File(path+/+newname); if(newfile.exists()/若在该目录下已经有一个文件和新文件名相同,则不允许重命名 System.out.println(newname+已经存在!); else. oldfile.renameTo(newfile); 五.转移文件目录 转移文件目录不等同于复制文件,复制文件是复制后两个目录都存在该文件,而转移文件目录则是转移后,只有新目录中存在该文件。 Java代码 1. /*/*转移文件目录 2. *paramfilename文件名 3. *paramoldpath旧目录 4. *paramnewpath新目录 5. *paramcover若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作 6. */7. publicvoidchangeDirectory(Stringfilename,Stringoldpath,Stringnewpath,booleancover). 8. if(!oldpath.equals(newpath). 9. Fileoldfile=newFile(oldpath+/+filename); 10. Filenewfile=newFile(newpath+/+filename); 11. if(newfile.exists()./若在待转移目录下,已经存在待转移文件 12. if(cover)/覆盖 13. oldfile.renameTo(newfile); 14. else15. System.out.println(在新目录下已经存在:+filename); 16. 17. else. 18. oldfile.renameTo(newfile); 19. 20. 21. /* */*转移文件目录 * param filename 文件名 * param oldpath 旧目录 * param newpath 新目录 * param cover 若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作 */ public void changeDirectory(String filename,String oldpath,String newpath,boolean cover). if(!oldpath.equals(newpath). File oldfile=new File(oldpath+/+filename); File newfile=new File(newpath+/+filename); if(newfile.exists()./若在待转移目录下,已经存在待转移文件 if(cover)/覆盖 oldfile.renameTo(newfile); else System.out.println(在新目录下已经存在:+filename); else. oldfile.renameTo(newfile); 六.读文件 1.利用FileInputStream读取文件 2.利用BufferedReader读取 在IO操作,利用BufferedReader和BufferedWriter效率会更高一点 3.利用dom4j读取xml文件 Java代码 1. /*/*从目录中读取xml文件 2. *parampath文件目录 3. *return 4. *throwsDocumentException 5. *throwsIOException 6. */7. publicDocumentreadXml(Stringpath)throwsDocumentException,IOException. 8. Filefile=newFile(path); 9. BufferedReaderbufferedreader=newBufferedReader(newFileReader(file); 10. SAXReadersaxreader=newSAXReader(); 11. Documentdocument=(Document)saxreader.read(bufferedreader); 12. bufferedreader.close(); 13. returndocument; 14. /* */*从目录中读取xml文件 * param path 文件目录 * return * throws DocumentException * throws IOException */ public Document readXml(String path) throws DocumentException, IOException. File file=new File(path); BufferedReader bufferedreader = new BufferedReader(new FileReader(file); SAXReader saxreader = new SAXReader(); Document document = (Document)saxreader.read(bufferedreader); bufferedreader.close(); return document; 七.创建文件(文件夹) 1.创建文件夹 Java代码 1. /*/*创建文件夹 2. *parampath目录 3. */4. publicvoidcreateDir(Stringpath). 5. Filedir=newFile(path); 6. if(!dir.exists() 7. dir.mkdir(); 8. /* */*创建文件夹 * param path 目录 */ public void createDir(String path). File dir=new File(path); if(!dir.exists() dir.mkdir(); 2.创建新文件 Java代码 1. /*/*创建新文件 2. *parampath目录 3. *paramfilename文件名 4. *throwsIOException 5. */6. publicvoidcreateFile(Stringpath,Stringfilename)throwsIOException. 7. Filefile=newFile(path+/+filename); 8. if(!file.exists() 9. file.createNewFile(); 10. /* */*创建新文件 * param path 目录 * param filename 文件名 * throws IOException */ public void createFile(String path,String filename) throws IOException. File file=new File(path+/+filename); if(!file.exists() file.createNewFile(); 八.删除文件(目录) 1.删除文件 Java代码 1. /*/*删除文件 2. *parampath目录 3. *paramfilename文件名 4. */5. publicvoiddelFile(Stringpath,Stringfilename). 6. Filefile=newFile(path+/+filename); 7. if(file.exists()&file.isFile() 8. file.delete(); 9. /* */*删除文件 * param path 目录 * param filename 文件名 */ public void delFile(String path,String filename). File file=new File(path+/+filename); if(file.exists()&file.isFile() file.delete(); 2.删除目录 要利用File类的delete()方法删除目录时,必须保证该目录下没有文件或者子目录,否则删除失败,因此在实际应用中,我们要删除目录,必须利用递归删除该目录下的所有子目录和文件,然后再删除该目录。 Java代码 1. /*/*递归删除文件夹 2. *parampath 3. */4. publicvoiddelDir(Stringpath). 5. Filedir=newFile(path); 6. if(dir.exists(). 7. Filetmp=dir.listFiles(); 8. for(inti=0;itmp.length;i+). 9. if(tmpi.isDirectory(). 10. delDir(path+/+tmpi.getName(); 11. 12. else. 13. tmpi.delete(); 14. 15. 16. dir.delete(); 17. 18. /* */*递归删除文件夹 * param path */ public void delDir(String path). File dir=new File(path); if(dir.exists(). File tmp=dir.listFiles(); for(int i=0;i150)6. StringguessCharset=xxxx/*根据request的locale得出可能的编码,中文操作系统通常是gb2312*/7. fileName=newString(atta.getFileName().getBytes(guessCharset),ISO8859-1);8. 9. response.setHeader(Content-Disposition,attachment;filename=+fileName
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业员工法律培训
- 消防安全培训基地课件
- 工作总结及工作计划
- 工科组会文献汇报
- 妇瘤科护理病情汇报
- 收费员试用期转正工作总结
- 动静脉内瘘的使用与护理
- 校园防灾减灾培训
- 血友病个案护理汇报
- 今天课堂作业汇报
- 模板安装三检记录表
- 5G边缘云计算技术
- 现代市场营销(第四版) 课件全套 单元1-12 认知市场营销-市场营销计划、组织、执行与控制
- 病历复制授权委托书
- 牙周病课件:根分叉病变(Furcation Involvement)
- 【课程思政示范课】《“博远计划”素质教育课》课程
- 环境保护及文明施工措施
- 原来我也很坚强中考满分作文5篇
- 施工项目管理手册范本
- 新安天玉混炼胶产品
- JIS G3507-1-2021 冷镦用碳素钢.第1部分:线材
评论
0/150
提交评论