程序使用FileInputStream类和FileOutputStream类实现文件_第1页
程序使用FileInputStream类和FileOutputStream类实现文件_第2页
程序使用FileInputStream类和FileOutputStream类实现文件_第3页
程序使用FileInputStream类和FileOutputStream类实现文件_第4页
程序使用FileInputStream类和FileOutputStream类实现文件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序使用FileInputStream类和FileOutputStream类实现文件复制使用FileInputStream类和FileOutputStream类实现文件复制,如果指定的文件夹不存在,则要求先创建相应的文件夹。复制文件内容时,如果数据大小多于1024字节时,一次读取或写入1024字节的数据。如果剩余的数据少于1024字节,则一位一位读出或写入数据。importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;复制使用FileInputStream类和FileOutputStream类实现文件复制,如果指定的文件夹不存在,则要求先创建相应的文件夹。复制文件内容时,如果数据大小多于1024字节时,一次读取或写入1024字节的数据。如果剩余的数据少于1024字节,则一位一位读出或写入数据。importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;复制importjava.io.FileNotFoundException;importjava.io.IOException;publicclassTestFileStream7_2{

privatestaticvoidcopyFile(StringstrSourceFile,StringstrTargetFile){复制

StringcurrentDir=System.getProperty("user.dir");//获取系统当前文件夹 StringstrSource=currentDir+"\\"+strSourceFile; StringstrTarget=currentDir+"\\"+strTargetFile; StringpathSource=strSource.substring(0,strSource.lastIndexOf("\\")); StringpathTarget=strTarget.substring(0,strTarget.lastIndexOf("\\"));复制

System.out.println("源文件的存放路径为:"+pathSource); System.out.println("目标文件的存放路径为:"+pathTarget); byte[]buffer=newbyte[1024];//一次读取数据的大小 FiletargetDir=newFile(pathTarget); if(!targetDir.exists()){ System.out.println("\""+pathTarget+"\"暂不存在,先创建该文件夹"); newFile(pathTarget).mkdirs();复制 } try{ //创建文件输入 //FilesourceFile=newFile(strSource); FileInputStreamfInputStream=newFileInputStream(strSource);//sourceFile //创建文件输出流 //FiletargetFile=newFile(strTarget); FileOutputStreamfOutputStream=new复制FileOutputStream(strTarget);//targetFile while(true){ if(fInputStream.available()>1024){ fInputStream.read(buffer);//从文件输入流读出1024字节的数据 fOutputStream.write(buffer);//将1024字节的数据写入目的文件 }else{ //剩余的数据比1024字节少,一位一位读出再写入目标文件复制intremain=0; while((remain=fInputStream.read())!=-1){//取得未读取的数据长度 fOutputStream.write(remain); } break; } } System.out.println("文件复制完成"); fInputStream.close();复制fOutputStream.close(); }catch(FileNotFoundExceptionex){ System.out.println("源文件不存在!"); }catch(IOExceptionex){ ex.printStackTrace(); } } publicstaticvoidmain(String[]args){复制copyFile("text\\testFile7_2.txt","备用文件夹\\testFile7_2.txt"); }}importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.BufferedInputStream;复制importjava.io.BufferedOutputStream;importjava.io.FileNotFoundException;importjava.io.IOException;publicclassTestBufferedStream7_2_1{ privatestaticvoidcopyFile(StringstrSourceFile,StringstrTargetFile){ StringcurrentDir=System.getProperty("user.dir");//获取当前文件夹复制

StringstrSource=currentDir+"\\"+strSourceFile; StringstrTarget=currentDir+"\\"+strTargetFile; StringpathTarget=strTarget.substring(0,strTarget.lastIndexOf("\\")); byte[]buffer=newbyte[1];//一次读取数据的大小 FiletargetDir=newFile(pathTarget); if(!targetDir.exists()){复制System.out.println("\""+pathTarget+"\"暂不存在,先创建该文件夹"); newFile(pathTarget).mkdirs(); } try{ //创建文件输入 FilesourceFile=newFile(strSource); FileInputStreamfInputStream=newFileInputStream(sourceFile);复制BufferedInputStreambInputStream=newBufferedInputStream( fInputStream); //创建文件输出流 FiletargetFile=newFile(strTarget); FileOutputStreamfOutputStream=newFileOutputStream(targetFile);

复制 BufferedOutputStreambOutputStream=newBufferedOutputStream( fOutputStream);System.out.println("被复制文件的长度为:"+sourceFile.length()+"字节"); while(bInputStream.read(buffer)!=-1){ bOutputStream.write(buffer);//写入缓冲区 }复制bOutputStream.flush();//将缓冲区中的数据全部写入目标文件 bInputStream.close(); bOutputStream.close(); fInputStream.close(); fOutputStream.close();System.out.println("文件复制完成"); }catch(FileNotFoundExceptionex){复制System.out.println("源文件不存在!"); }catch(IOExceptionex){ ex.printStackTrace(); } } publicstaticvoidmain(String[]args){复制copyFile("text\\testFile7_2_1.txt","备用文件夹\\testFile7_2_1.txt"); }}importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.FileInputStream;复制importjava.io.FileOutputStream;importjava.io.IOException;publicclassTestDataStream7_2_2{ privatestaticvoidrwBaseData(StringstrFileName)throwsIOException{ StringcurrentDir=System.getProperty("user.dir");//获取当前文件夹复制

StringstrTarget=currentDir+"\\"+strFileName; String[]goodsInfoName={"商品编码","商品名称","价格","数量"}; FileInputStreamfileInput; FileOutputStreamfileOutput; DataInputStreamdataInput;DataOutputStreamdateOut; fileOutput=newFileOutputStream(strTarget);复制

dateOut=newDataOutputStream(fileOutput); //将数据写入文件中,目标是文件 for(Stringname:goodsInfoName){ dateOut.writeUTF(name); } dateOut.writeUTF("353051"); dateOut.writeUTF("三星S5830"); dateOut.writeDouble(2058.00);复制

dateOut.writeInt(2); System.out.println("数据写入文件完成"); fileOutput.close(); dateOut.close(); //将数据从文件中读出,在屏幕上输出 System.out.println("数据从文件中读出,显示在屏幕上"); fileInput=newFileInputStream(strTarget); dataInput=newDataInputStream(fileInput);复制

for(inti=0;i<goodsInfoName.length;i++){ if(i<goodsInfoName.length-1){ System.out.print(dataInput.readUTF()+""); }else{ System.out.println(dataInput.readUTF()); } } System.out.print(dataInput.readUTF()+"");复制

System.out.print(dataInput.readUTF()+""); System.out.print(dataInput.readDouble()+""); System.out.println(dataInput.readInt()); dataInput.close();//关闭输入流 } publicstaticvoidmain(String[]args)throwsIOException{ rwBaseData("text\\testFile7_2_2.txt");复制}}importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;复制publicclassTestDataStream7_2_2{ privatestaticvoidrwBaseData(StringstrFileName)throwsIOException{ StringcurrentDir=System.getProperty("user.dir");//获取当前文件夹 StringstrTarget=currentDir+"\\"+strFileName; String[]goodsInfoName={"商品编码","商品名称","价格","数量"};复制publicclassTestDataStream7_2_2{ privatestaticvoidrwBaseData(StringstrFileName)throwsIOException{ StringcurrentDir=System.getProperty("user.dir");//获取当前文件夹 StringstrTarget=currentDir+"\\"+strFileName; String[]goodsInfoName={"商品编码","商品名称","价格","数量"};复制 dateOut.writeUTF(name); } dateOut.writeUTF("353051"); dateOut.writeUTF("三星S5830"); dateOut.writeDouble(2058.00); dateOut.writeInt(2); System.out.println("数据写入文件完成");

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论