java IO流例子详解.docx
- 文档编号:2776115
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:11
- 大小:18.10KB
java IO流例子详解.docx
《java IO流例子详解.docx》由会员分享,可在线阅读,更多相关《java IO流例子详解.docx(11页珍藏版)》请在冰豆网上搜索。
javaIO流例子详解
1只显示关键字的文件或文件夹
1.1要实现一个文件过滤接口FileFilter,重写其中的publicbooleanaccept(Filepathname);
如:
publicclassKeywordFileFilterimplementsFileFilter{
privateStringkeyword;
publicKeywordFileFilter(Stringkeyword){
this.keyword=keyword;
}
publicbooleanaccept(Filepathname){
returnpathname.getName().toLowerCase().indexOf(keyword)>=0;
}
}
2File使用
只显示有java的文件或文件夹:
KeywordFileFilterkeywordFileFilter=newKeywordFileFilter("java");
File[]files=file.listFiles(keywordFileFilter);
Filefile=newFile("E:
\\xindongfang\\CoreJava");
//文件是否存在
if(file.exists()){
System.out.println("是否为文件夹:
"+file.isDirectory());
System.out.println("是否为文件:
"+file.isFile());
System.out.println("是否隐藏:
"+file.isHidden());
System.out.println("是否可读:
"+file.canRead());
System.out.println("是否可写:
"+file.canWrite());
System.out.println("最后修改时间:
:
"+newDate(file.lastModified()));
System.out.println("文件的大小:
"+file.length());
Filefile_new=newFile("E:
\\xindongfang\\CoreJava\\aa\\bb");
//如果存在则不创建
//System.out.println("创建文件:
"+file_new.createNewFile());
//只创建文件夹,如果文件中的路径包含有未创建的文件,则不会创建
//System.out.println("创建文件夹:
"+file_new.mkdir());
//只创建文件夹,包含文件夹的层次关系,存在则不创建
//System.out.println("创建文件夹(包括所有必需但不存在的父目录):
"+file_new.mkdirs());
//删除文件,如果删除文件夹则要先要删除文件夹中的文件,再后才删除空的文件夹
System.out.println("删除文件:
"+file_new.delete());
//KeywordFileFilterkeywordFileFilter=news
//KeywordFileFilter("java");
//File[]files=file.listFiles();
//System.out.println("文件中的数量:
"+files.length);
//for(inti=0;i //System.out.println("文件中文件名称: "+files[i].getName()+";是否隐藏: " //+files[i].isHidden()+";文件绝对路径: " //+files[i].getAbsolutePath()+";上级文件" //+files[i].getParent()+";最后修改时间: "+files[i].lastModified()); // //} 3复制文件二进制 ,InputStream/OutputStream 在读取文件时,通过循环来读取,要先将read赋值给一个临时变量,再判断这个变量是否=-1,如 inttemp=0; while((temp=inputStm.read())! =-1){ System.out.println(temp); } 如果写成: while((inputStm.read())! =-1){ System.out.println(inputStm.read()); } 这样输出的内容不全,如果写到一个新的文件中,则此文件的内容和原文件的内容来不一样, 在关闭资源时,要清空下输出流,在读取文件时,是转换成int类型的,如果最后的数据不足32位时,所以要强制清空下 复制文件: publicstaticvoidcopyFile(StringsourceFile,StringdestFile){ try{ InputStreaminputStm=newFileInputStream(sourceFile); OutputStreamoutputStm=newFileOutputStream(destFile); inttemp=0; while((temp=inputStm.read())! =-1){ outputStm.write(temp); } inputStm.close(); outputStm.flush(); outputStm.close(); System.out.println("复制OK"); }catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); } } 4输出流二进制OutputStream写文件 OutputStreamoutputStm=newFileOutputStream(file,true); 第二个参数为true,表示会在文件的末尾追加内容, 为false表示会覆盖原文件的内容 publicstaticvoidwriteByOutStream(StringfilePath){ Filefile=newFile(filePath); try{ if(! file.exists()){ file.createNewFile(); } OutputStreamoutputStm=newFileOutputStream(file,false); Stringstr="您好! 我用OutputStream来写文件的内容! "; outputStm.write(str.getBytes()); str="添加内容! "; outputStm.write(str.getBytes()); outputStm.flush(); outputStm.close(); System.out.println("写入成功! "); }catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); } } 5复制文件字符流FileReaderFileWriter publicstaticvoidcopyFileByReader(StringsourceFile,StringdestFile){ try{ FileReaderfileRead=newFileReader(sourceFile); FileWriterfileWrit=newFileWriter(destFile); inttemp=0; while((temp=fileRead.read())! =-1){ //System.out.println(inputStm.read()); fileWrit.write(temp); } fileRead.close(); fileWrit.flush(); fileWrit.write("\r\n"); fileWrit.write("fdsfa在在地sd"); fileWrit.close(); System.out.println("复制OK"); }catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.printStackTrace(); } } 6用字符流BufferedReader读取文件 //用FileReader读取文件 publicstaticvoidreadByFileReader(StringfilePath){ Filefile=newFile(filePath); if(! file.exists()){ System.out.println("文件不存在》》"+filePath); return; } try{ FileReaderfileReader=newFileReader(file); BufferedReaderbufferedReader=newBufferedReader(fileReader); Stringtemp=null; while((temp=bufferedReader.readLine())! =null){ System.out.println(temp); } //以下方式读取会读不尽文件的内容 //while((bufferedReader.readLine())! =null){ //System.out.println(bufferedReader.readLine()); //} bufferedReader.close(); fileReader.close(); System.out.println("BufferedReader读文件完毕! "); }catch(FileNotFoundExceptione){ e.printStackTrace(); }catch(IOExceptione){ e.pri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java IO流例子详解 IO 例子 详解