Java的IO流的操作和一些理解
2015-11-06 17:07
549 查看
关于IO流的处理,在一个程序中通常需要IO处理,因为它是非常重要的一个部分,但是在java中io流的使用也是个重点和难点,因为io操作涉及到一些关于文件的操作,从创建到生成,但是一个重点。在io操作中它的异常处理就显得很重要了,当你在进行异常处理的时候一般都是用的是throws的异常处理,异常类型是IOException进行处理,今天刚刚接触IO的处理方法,可能不是太明白,在后期的学习中,在不断的总结和不断地完善。
在进行Io处理的时候,需要用到一些方法,比如FileInputStream或者FIleOutputStream的流处理。FileInputStream的获取的返回值一般都使用InputStream接受。FileOutputStream一般使用OutputStream进行接收。
下图是关于IO流 的结构图:
我们可以从图片中看到为什么FileInputStream和FileOutputStream的返回值要用InputStream和OutputStream来获取。
关于Io的相关的资料可以去Java的在线文档进行查看,地址是[Java 1.8官方文档]http://docs.oracle.com/javase/8/docs/api/)里面有个Java.io的包。所有的函数都已经在里面了。我很想阅读以下它的官方文档,但是自己的英语水平有限,可能还不能读懂他的官方文档,但是我们借用翻译器慢慢来阅读。也会提升一下自己的英语水平嘛!!
不说这个,还是想贴上代码,在进行说明
这是一个关于创建一个文件并且让它显示在控制台里面的例子:
IOTest.java
第二是怎么创建一个路径:
CreateDir.java
第三个是如何读取一个路径和下面有哪些文件
ReadDir.java
IO流处理是个大的难点,不是一下就可以理解,所以,还要在后面的学习理解中在进行完善。这篇文章先写到这里,以后有新的理解的时候在做优化。
在进行Io处理的时候,需要用到一些方法,比如FileInputStream或者FIleOutputStream的流处理。FileInputStream的获取的返回值一般都使用InputStream接受。FileOutputStream一般使用OutputStream进行接收。
下图是关于IO流 的结构图:
我们可以从图片中看到为什么FileInputStream和FileOutputStream的返回值要用InputStream和OutputStream来获取。
关于Io的相关的资料可以去Java的在线文档进行查看,地址是[Java 1.8官方文档]http://docs.oracle.com/javase/8/docs/api/)里面有个Java.io的包。所有的函数都已经在里面了。我很想阅读以下它的官方文档,但是自己的英语水平有限,可能还不能读懂他的官方文档,但是我们借用翻译器慢慢来阅读。也会提升一下自己的英语水平嘛!!
不说这个,还是想贴上代码,在进行说明
这是一个关于创建一个文件并且让它显示在控制台里面的例子:
IOTest.java
package com.file.ioTest; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class IOTest { public static void main(String[] args) { try { byte bWrite[] = {12, 21, 3, 4, 55 }; OutputStream os = new FileOutputStream("Test.txt");//创建一个文件,没有的话创建,有了的话就不变。 for (int x = 0; x < bWrite.length; x++) { os.write(bWrite[x]);//将BWrite里面的二进制写入都Test.txt文件里面去 } os.close();//最后在关闭输出流,这个很关键,没有关闭的话可能会导致资源的大量的浪费,和被占用 InputStream Is = new FileInputStream("Test.txt");//创建一个输入流用来获取到这个文件 int size = Is.available();//使用输入流的available进行读取文件的大小 for (int i = 0; i < size; i++) { System.out.println( Is.read());//使用循环进行显示,将Read()的返回值类型进行强制转化的话会有个问题,输入到控制台的数据都是乱码的,文件中的数据也是乱码的。 } Is.close();//最后关闭输入流。 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
第二是怎么创建一个路径:
CreateDir.java
package com.file.ioTest; import java.io.File; public class CreateDir { public static void main(String[] args) { String dirName="temp/java/bin";//这是一个路径的字符串 File f=new File(dirName);// 这个开始创建一个文件 //创建路径 if(f.mkdirs()){//使用mkdir的方法创建一个路径,返回值是Boolean型的 System.out.println("创建成功"); }else{ System.out.println("创建失败!"); } } }
第三个是如何读取一个路径和下面有哪些文件
ReadDir.java
package com.file.ioTest; import java.io.*; public class ReadDir { public static void main(String[] args) { File file=null; String[] paths; try { file=new File("temp");//先将地址定位到temp下 paths=file.list();//使用list获取temp下面的文件和文件夹的个数 for(String path:paths){ System.out.println(path);通过for循环打印一下文件的名称 } } catch (Exception e) { e.printStackTrace(); } } }
IO流处理是个大的难点,不是一下就可以理解,所以,还要在后面的学习理解中在进行完善。这篇文章先写到这里,以后有新的理解的时候在做优化。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统