java中的i+o流_JAVA中I/O流

论坛 期权论坛     
选择匿名的用户   2021-5-22 16:43   75   0
<div style="font-size:16px;">
<p>IO流分为输入流(InputStream)和输出流(OutputStream)两类 按流所处理的数据类型又可以分为字节流和字符流(用于处理Unicode字符数据)两类</p>
<p>字节流主要是由 InputStream和OutputStream作为基类,而字符流主要是由 Reader和Writer作为基类的</p>
<p>节点流(低级流) 和 处理流(高级流): JAVA使用处理流来包装节点流式一种典型的装饰器设计模式,通过使用处理流来包装不同的节点流,既可以消除不同节点流的实现差异,也可以提供更方便的方法来完成输入输出功能,这就允许Java应用程序采用相同的代码,透明的方式来访问不同输入\输出设备的数据流。所以处理流也叫做包装流</p>
<p>下图说明相关体系:</p>
<p align="center"><img alt="a4f5ef03c59f7b6b5c4efe406613b61d.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-11d5a30bc7aaa7867e303e85fcd06c47.png"></p>
<p align="center"><img alt="4252c4bbbfb9baf4695e32493f87d7c2.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-aa38ba3bffdf4b6cb89135382e437241.png"></p>
<p align="center"><img alt="1f919a280283d78096c1198c76f1ea20.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-39c141b574244c781cdadcda90e0c403.png"></p>
<p>文件类:(File): 提供文件操作功能(File可以创建,删除等操作对文件或目录,但是要访问文件内容,就必须用到输入/输出流)</p>
<p>1.创建File类对象: File f; f &#61; new File(&#34;Test.java&#34;); f &#61; new File(&#34;E:\\ex\\&#34;,&#34;Test.java&#34;);</p>
<p>2.将目录也当作文件处理File类中提供了实现目录管理功能的方法: File path &#61; new File(&#34;E:\\ex\\&#34;); File f &#61; new File(path, &#34;Test.java&#34;);</p>
<p>方法: f.getName():返回文件名   temp.dat f.getParent():返回文件所在目录名   data f.getPath():返回文件路径  data\temp.dat f.getAbsolutePath():返回绝对路径  …\data\temp.dat f.exists():文件是否存在 f.canWrite(), f.canRead():文件是否可写、读 f.isFile(), f.isDirectory():是否为文件或目录 f.lastModified(), f.length(), f.delete():文件的最后修改日期、长度;删除文件 f.mkdir(), f.list():创建一个目录;列出目录下所有的文件</p>
<p>几个例子说明:</p>
<p align="center"><img alt="48304ba5e6f9fe08f3fa1abda7d326ab.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-9fafc5631ba1215db74dcb775c5144aa.png"></p>
<p>import java.io.*;classFileTest{public static voidmain(String[] str){<!-- --></p>
<p>File f&#61; new File(&#34;E:\\Workspace\\aaa.txt&#34;);//判断是否存在该文件</p>
<p>if (!f.exists()){<!-- --></p>
<p>System.out.println(&#34;file is not exist&#34;);try{<!-- --></p>
<p>f.createNewFile();//不存在就创建新的文件</p>
<p>} catch(IOException e) {<!-- --></p>
<p>e.printStackTrace();</p>
<p>}</p>
<p>}</p>
<p>File f1&#61; new File(&#34;E:\\Workspace\\aaa1\\sdfsdf\\asdf&#34;);if (f1.mkdir()){ //创建目录</p>
<p>System.out.println(&#34;yes&#34;);</p>
<p>}else{<!-- --></p>
<p>System.out.println(&#34;errors &#34;);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p align="center"><img alt="48304ba5e6f9fe08f3fa1abda7d326ab.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-9fafc5631ba1215db74dcb775c5144aa.png"></p>
<p align="center"><img alt="48304ba5e6f9fe08f3fa1abda7d326ab.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-9fafc5631ba1215db74dcb775c5144aa.png"></p>
<p>import java.io.*;//浏览当前目录下的所有文件和目录</p>
<p>classFileDirectory{public static voidmain( String[] args ) {try{<!-- --></p>
<p>File f1&#61; new File(&#34;&#34;);</p>
<p>String ss&#61;f1.getAbsolutePath();</p>
<p>System.out.println(&#34;ss&#61; &#34; &#43;ss);</p>
<p>File f&#61; newFile(ss);if( f.isDirectory() ) {//获取目录下所有的文件列表</p>
<p>File[] files &#61;f.listFiles();for( int i&#61;0; i</p>
<p>System.out.println(&#34;</p>
<p>}else{<!-- --></p>
<p>System.out.println( files[ i ].getName() );</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>}catch( Exception e ) {<!-- --></p>
<p>e.printStackTrace();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p align="center"><img alt="48304ba5e6f9fe08f3fa1abda7d326ab.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-9fafc5631ba1215db74dcb775c5144aa.png"></p>
<p align="center"><img alt="48304ba5e6f9fe08f3fa1abda7d326ab.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-9fafc5631ba1215db74dcb775c5144aa.png"></p>
<p>import java.io.*;classSuperTest{public static voidmain(String args[]) {<!-- --></p>
<p>File dir&#61; new File(&#34;E:\\Workspace\\Java\\test20111108&#34;); //用File 对象表示一个目录</p>
<p>Filter filter &#61; new Filter(&#34;txt&#34;); //生成一个名为java的过滤器</p>
<p>System.out.println(&#34;list java files in directory &#34; &#43;dir);</p>
<p>String[] files&#61; dir.list(filter); //列出目录dir下,文件后缀名为txt的所有文件</p>
<p>for (int i &#61; 0; i &lt; files.length; i&#43;&#43;) {<!-- --></p>
<p>File f&#61; new File(dir, files[i]); //为目录dir 下的文件或目录创建一个File 对象</p>
<p>if (f.isFile()) //如果该对
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP