0x01:文档键入流/文档輸出流字节流用以拷贝文档。

privatestaticvoidstreamCopyFile(FilesrcFile,FiledesFile){try{//应用字节流开展文档拷贝FileInputStreamfi=newFileInputStream(srcFile);FileOutputStreamfo=newFileOutputStream(desFile);Integerby=0;//一次载入一个字节while((by=fi.read())!=-1){fo.write(by);}fi.close();fo.close();}catch(Exceptione){e.printStackTrace();}}

0x02:用以拷贝文档的缓存键入流/缓存輸出流高效率字节流。

privatestaticvoidbufferedStreamCopyFile(FilesrcFile,FiledesFile){try{//应用缓存字节流开展文档拷贝BufferedInputStreambis=newBufferedInputStream(newFileInputStream(srcFile));BufferedOutputStreambos=newBufferedOutputStream(newFileOutputStream(desFile));byte[]b=newbyte[1024];Integerlen=0;//一次载入1024字节数的数据信息while((len=bis.read(b))!=-1){bos.write(b,0,len);}bis.close();bos.close();}catch(Exceptione){e.printStackTrace();}}

0x03: FileReader/FileWriter标识符流用以拷贝文档。

privatestaticvoidreaderWriterCopyFile(FilesrcFile,FiledesFile){try{//应用标识符流开展文档拷贝,留意:标识符流只有拷贝只带有中国汉字的文档FileReaderfr=newFileReader(srcFile);FileWriterfw=newFileWriter(desFile);Integerby=0;while((by=fr.read())!=-1){fw.write(by);}fr.close();fw.close();}catch(Exceptione){e.printStackTrace();}}

0x04:缓存读取器/缓存载入器应用高效率的标识符流实行文档拷贝。

privatestaticvoidbufferedReaderWriterCopyFile(FilesrcFile,FiledesFile){try{//应用带缓冲区域的高效率标识符流开展文档拷贝BufferedReaderbr=newBufferedReader(newFileReader(srcFile));BufferedWriterbw=newBufferedWriter(newFileWriter(desFile));char[]c=newchar[1024];Integerlen=0;while((len=br.read(c))!=-1){bw.write(c,0,len);}//方法二/*Strings=null;while((s=br.readLine())!=null){bw.write(s);bw.newLine();}*/br.close();bw.close();}catch(Exceptione){e.printStackTrace();}}

0x05: NIO完成文档拷贝(应用transferTo或transferFrom)。

publicstaticvoidNIOCopyFile(Stringsource,Stringtarget){try{//1.选用RandomAccessFile双重安全通道进行,rw表明具备读写能力管理权限RandomAccessFilefromFile=newRandomAccessFile(source,"rw");FileChannelfromChannel=fromFile.getChannel();RandomAccessFiletoFile=newRandomAccessFile(target,"rw");FileChanneltoChannel=toFile.getChannel();longcount=fromChannel.size();while(count>0){longtransferred=fromChannel.transferTo(fromChannel.position(),count,toChannel);count-=transferred;}if(fromFile!=null){fromFile.close();}if(fromChannel!=null){fromChannel.close();}}catch(Exceptione){e.printStackTrace(); }}

0x06: java.nio.file.Files.copy()完成文档拷贝,在其中第三个主要参数决策是不是遮盖。

publicstaticvoIDCopyFile(Stringsource,Stringtarget){PathsourcePath=Paths.get(source);PathdestinationPath=Paths.get(target);try{Files.copy(sourcePath,destinationPath,StandardCopyOption.REPLACE_EXISTING);}catch(IOExceptione){e.printStackTrace();}}

评论(0条)

刀客源码 游客评论