IO流(Input Output Stream)总结1
来源:互联网 发布:电脑转盘抽奖软件 编辑:程序博客网 时间:2024/04/29 16:19
1、计算机世界是什么?
答:就是0和1,科学家说的……无数个0和1变成了计算机!!!!!
2、IO流东西满多的,想到哪说到哪吧。
3、IO流(Input Output Stream),中文全称输入输出流。
4、到底什么是流?
答:内存中的程序与文件、网络、等等所通信时,会传输数据,而数据的传输过程,我们抽象为称作流,毕竟我们总要为它起个名字,不然数据传输的时候我们怎么形容?直接说个流,是不是很方便,解释比较牵强……建议有所知道,不断加深理解!
5、IO流的分类
a、因为传输的数据类型不同,可分为 字符流,字节流
b、根据流的方向来分类,就可分为输入流、输出流
6、IO流到底是干啥的?实际作用呢?
答:最最常用的就是读取文件、写入文件、从网络获取数据流然后再写入到本地文件,你可以理解成是内存与硬盘的通信桥梁。
7、请问读取文件是什么流?
答:是输入流,程序读取文件,即文件流向程序内存中。
8、写入文件是什么流?
答:是输出流,从程序中向硬盘的文件写入字节或字符,即程序从内存中将字节或字符流向文件。
8、java中IO流,全部有封装好的类,用起来那必须爽歪歪的,直接上例子吧,从内存中的实例对象
9、例子:windows系统下创建一个文件
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt"); //一个File对象,代表一个文件或目录(这点要知道,目录可以想像成是特别的文件,这是一个集合的思想)try {f.createNewFile(); //调用File的实例方法createNewFile()创建文件,该方法会抛出IOException对象,我们try catch住就OK} catch (IOException e) {e.printStackTrace();}}}
10、例子:删除上一个例子中创建的文件
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt"); if (f.exists() ) {f.delete();}}}
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt"); //java大神封装的File就是这么牛逼,new一个File实例对象,然后你就开心的happy吧f.mkdir();//mkdir(),该实例方法会创建一个目录}}
class IOTest {public static void main(String args[]) {File f = new File("D:\\cocos2Dx"); String[] fileNames = f.list(); //list()实例方法返回一个String的数组对象,其中数组中的每一个元素代表文件或目录的名字for(String temp: fileNames) { //这里我们将所有的名字打印出来System.out.println(temp);}}}
class IOTest {public static void main(String args[]) {File f = new File("D:\\cocos2Dx"); File[] fileNames = f.listFiles(); //实例方法listFiles(),返回一个File的数组对象,每个元素是个File实例对象(其实放的肯定是引用)for(File temp : fileNames) {System.out.println(temp); //打印每个File实例对象,File的toString()就是返回的完整路径}}}
class IOTest {public static void main(String args[]) {File f = new File("D:\\cocos2Dx"); if( f.isDirectory()) {System.out.println("我是目录");} else {System.out.println("我是文件");}}}
16、RandomAccessFile,利用这个类的实例对象,我们可以向文件中写入字符串
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt");RandomAccessFile ranFile;try {ranFile = new RandomAccessFile(f, "rw");ranFile.writeBytes("hello world");ranFile.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
17、利用输出字节流,向文件中写入字符串(有问题,我没有close掉Stream)
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt");try {OutputStream outStream = new FileOutputStream(f); //先得到一个FileOutputStream实例对象,FileOutputStream is a OutputStream byte[] bye = "我的世界".getBytes(); //将String对象转换成byte的数组对象outStream.write(bye); //调用write实例方法,传入byte数组对象} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
class IOTest {<span style="white-space:pre"></span>public static void main(String args[]) {<span style="white-space:pre"></span>File f = new File("D:\\hello.txt");<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>OutputStream outStream = new FileOutputStream(f, true); //注意,这次我们调用的是两个参数的构造方法 <span style="white-space:pre"></span>byte[] bye = "我是个天才".getBytes(); //将String对象转换成byte的数组对象 <span style="white-space:pre"></span>outStream.write(bye); <span style="white-space:pre"></span>outStream.close();<span style="white-space:pre"></span>} catch (FileNotFoundException e) {<span style="white-space:pre"></span>e.printStackTrace();<span style="white-space:pre"></span>} catch (IOException e) {<span style="white-space:pre"></span>e.printStackTrace();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}}
19、利用输入字节流,读取文件内容
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt");try {InputStream inStream = new FileInputStream(f); //先得到FileInputStream实例对象byte[] temp = new byte[1024]; //分配一个byte的数组对象,一共可以存放1024个元素,用于持有读取的byteinStream.read(temp); //读取到byte数组对象里,每一个元素为一个字节,就这样一个字节一个字节的放到该数组对象里System.out.println(new String(temp)); //将byte数组对象转换成String实例对象,并打印出来inStream.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
20、申请一个存放1024个byte元素的数组对象,是不是占用内存有些大啊,再优化一下上面的例子
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt");try {InputStream inStream = new FileInputStream(f);byte[] temp = new byte[(int)f.length()]; //inStream.read(temp);System.out.println(new String(temp));inStream.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
21、使用输出字符流向文件中写入内容
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt");Writer writer;try {writer = new FileWriter(f);writer.write("我是最棒的");writer.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt");Writer writer;try {writer = new FileWriter(f, true); //第二个参数,将改变FileWriter的append实例变量,true,意为追加内容writer.write("我的世界里面不能没有你");writer.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
class IOTest {public static void main(String args[]) {File f = new File("D:\\hello.txt");try {Reader reader = new FileReader(f);char[] chars = new char[100]; //读到的字符到char的数组对象里reader.read(chars);System.out.println(new String(chars));} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
24、字节流与字符流哪个用的多?
答:当然是用的字节流多一些啊,具体原因以后要深入
25、OutputStreramWriter介绍
答:利用该类的实例对象, 将输出字节流转换成输出字符流
26、InputStreamReader介绍
答:将输入字节流转换成输入字符流
27、内存操作流
答:总结2会详细总结
28、管道流
答:线程之间的通信,我们称为管道流,总结2会详细总结
29、打印流
答:总结2会详细总结
30、BufferedReader,利用缓冲区读取字符流
答:总结2会详细总结
31、总结
答:看起来io流深不可测,确实也是,所谓的流就是计算机程序与文件之间传输的内容过程,被形象的把bit像在管道里一样流来流去,io流不简单。继续深入!
- IO流(Input Output Stream)总结1
- IO(Input Output)流
- IO(Input Output)流
- IO(Input Output)流总结(一)
- IO(Input Output)流总结(二)
- 黑马程序员:Java基础总结----IO(Input Output)流概述
- IO流(Input Output)--引入
- 黑马程序员-java io(Input Output)流
- IO流(Input Output) 18~19天..
- IO流(Input Output) 19~20天
- Python IO流(Input&Output)
- stand IO input & output
- IO(Input Output)
- 黑马程序员——IO(Input Output)流
- 《黑马程序员》java笔记->IO(Input Output)流
- 黑马程序员----IO(Input Output)流及File类
- 黑马程序员——IO(Input Output)流(一)
- 黑马程序员——IO(Input Output)流(二)
- 有关HTML5 Video对象的ontimeupdate事件的问题
- ExtJs表格控件(三)----单元格编辑与提交修改
- 面试笔试杂项积累-leetcode 66-70
- 在计算机中安装Arch Linux
- std:forward 完美转发
- IO流(Input Output Stream)总结1
- 20160201
- Fragment简述
- 白书练习 下落的小球
- JS学习--常见弹出框
- lua协程用法举例
- std::move C++11 标准新特性: 右值引用与转移语义
- 2016WC 总结
- 本地方法(JNI)——编码签名