IO流知识点

如何判断是输入还是输出?
答:以程序为中心。
如何判断是解码还是编码?
答:以程序为中心。程序只懂二进制,所以,以二进制转换成字符是解码,字符转换成二进制是编码。
1.
首先,File 它是给程序跟文件或文件夹建立的一个联系。它不是代表那个路径下的文件,只是一个联系。不能对文件进行操作。而且也不能判断该文件是否存在。。
File file=new File(path);
如:File file=new File("E:/text/a.jpg");
这行代码说的是:file给程序跟该目录下的文件a.jpg建立了一个联系。但是不能对文件进行操作。
(File 类的实例是不可变的;也就是说,一旦创建,File 对象表示的抽象路径名将永不改变。)---来自jdk

2. InputStream-->FileInputStream
摘自jdk-->
public class FileInputStream extends InputStream
由此可知:
①、FileInputStream 是继承了InputStream抽象类。
②、FilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterInputStream 类本身只是简单地重写那些将所有请求传递给所包含输入流的 InputStream 的所有方法。FilterInputStream 的子类可进一步重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
OutputStream-->FileOutputStream跟InputStream-->FileInputStream是一样的

2.(字节流)输入流、输出流的使用步骤:
①、建立联系:File file=new File(path);//跟文件建立一个联系
②、选择流:选择你需要的流,你是要输入流还是输出流。。如:InputStream-->FileInputStream /OutputStream-->FileOutputStream
③、操作:进行输入内容或者输出内容。
④、释放资源:关闭输入流或输出流。如果是输出流,要多写一个flush();强制刷新出去。
简单例子:

输入流: 1 package com.IO;
 2 import java.io.File;
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 import java.io.IOException;
 6 import java.io.InputStream;
 7 /**
 8  * 1.建立联系  File对象
 9  * 2.选择流
10  * 3.操作
11  * 4.释放资源
12  * @author Administrator
13  *
14  */
15 public class Demo01 {
16     public static void main(String[] args) {
17         File file=new File("f:/a.txt");//建立联系
18         InputStream is=null;//提升变量作用域,也就是让变量的作用域变大
19         if(file.exists()){
20             try {
21                 is=new FileInputStream(file);
22                 byte[] car=new byte[10];//缓冲数组
23                 int len=0;//实际读取的大小
24                 while(-1!=(len=is.read(car))){
25                     String info=new String(car,0,len);
26                     System.out.println(info);
27                 }
28             } catch (FileNotFoundException e) {
29                 System.out.println("文件找不到");
30             } catch (IOException e) {
31                 System.out.println("读取文件失败");
32             }finally{
33                 if(null!=is){
34                     try {
35                         is.close();
36                     } catch (IOException e) {
37                         System.out.println("关闭输入流失败");
38                     }
39                 }
40             }
41         }else{
42             try {
43                 boolean flag=file.createNewFile();
44                 System.out.println(flag?"成功":"失败");
45             } catch (IOException e) {
46                 System.out.println("创建文件错误");
47             }
48         }
49
50     }
51 }

52  输出流:
53 package com.IO;
54 import java.io.File;
55 import java.io.FileNotFoundException;
56 import java.io.FileOutputStream;
57 import java.io.IOException;
58 import java.io.OutputStream;
59 public class Demo02 {
60     public static void main(String[] args) {
61         File file=new File("f:/a.txt");
62         OutputStream out=null;//提升变量作用域,也就是让变量的作用域变大
63         if(file.exists()){
64             try {
65                 out=new FileOutputStream(file);
66                 String str="very good!!! \r\n";
67                 byte[] b=str.getBytes();//字符转换成字节数组
68                 out.write(b);
69                 out.flush();//强制刷新出去
70             } catch (FileNotFoundException e) {
71                 System.out.println("文件没找到");
72             } catch (IOException e) {
73                 System.out.println("输出内容发生错误");
74             }finally{
75                 if(null!=out){
76                     try {
77                         out.close();
78                     } catch (IOException e) {
79                         System.out.println("关闭输出流失败");
80                     }
81                 }
82             }
83         }else{
84             System.out.println("文件不存在!");
85         }
86     }
87 }
时间: 2024-10-27 04:45:29

IO流知识点的相关文章

IO流知识点总结

IO流的使用:(Input  OutPut)       输入输出流: 输入:将文件读到内存中 输出:将文件从内存输出到其他地方   IO技术的作用: 主要就是解决设备和设备之间的数据传输问题.比如:硬盘 --->内存,内存数据------>硬盘中   把键盘的数据写入到内存. 将U盘的文件拷贝到电脑中:输入流----->读到内存----->通过输出流读到电脑磁盘中.    IO的应用场景: 比如:打印机打印信息表. 比如:注册时的图片上传 比如:下载功能 以及解析XML.....

J2SE知识点归纳笔记(七)---Java IO Part 2:获取键盘输入与IO流体系图

J2SE知识点归纳笔记(七)---Java IO Part 2:获取键盘输入与IO流体系图                                                                 --转载请注明出处:coder-pig 本节引言: 好了,上一节中我们给大家介绍了File与RandomAccessFile类的用法,本节我们还是讲一些 常用的东西,如果学过C++或者C的朋友都知道,获取键盘的输入都很简单,scanf( )和cin就可以 获得我们从控制台输入的参

java中IO流相关知识点

package zdbIO; import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream; public class OutputStreamDemo1 { /**     * @throws IOException      * @throws IOException

java IO流部分知识点

IO流部分 IO流常用的有:字符流.字节流.缓冲流.序列化流.RandomAccessFile类等 1.字节流 FileInputStream/FileOutputStream BufferedInputStream/BufferedOutputStream 2.字符流 InputStreamReader / OutputStreamWriter BufferedReader / BufferedWriter FileReader / FileWriter 其中BufferedReader /

java知识点分享,IO流详解!

Java知识IO流详解有人觉得IO知识不太重要,其实不然,IO的使用范围很广,最能体现IO价值的就是网络上的数据传递,尤其是进入互联网时代后,各种常见的分布式架构,都少不了IO的体现.并且很多大厂的面试题中都会体现出对IO的重视,包括衍生出来的NIO.序列化等等.因此学好IO,变成了一件很重要的事情.IO基本概念IO可以简单的理解成INPUT和OUT,代表输入输出的意思.输入就是读,输出就是写.IO可以读写硬盘.光盘.内存.键盘.网络等资源上的数据.流IO中的流就相当于现实生活中的水流一样,一打

java之IO流

知识点: java.io包中:类File:实现的接口:Serializable,Comparable<File> 含义:文件和目录路径名的抽象表示形式.  [抽象路径名 中第一个名称是目录名,抽象路径名中第一个名称之后每个名称都是表示一个目录,最后一个名称即可以表示目录也可以表示文件]  用户界面和操作系统使用与系统相关的 路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图. 抽象路径名 有两部分组成: 1)一个可选的与系统相关的前缀字符串,比如盘符:"

黑马程序员——IO流

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- IO流 IO流概述 IO流用来处理设备之间的数据传输.Java对数据的操作是通过流的方式.Java用于操作流的对象都在IO包中. 流按照流向分为两种:输入流和输出流. 输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入.将内存的数写入到外设中:输出. 流按照操作数据分为两种:字节流和字符流. 字节流读取文字字节数据后,不直接操作而是先查指定的编码表,获取对应的文字.再对这个文字

java基础(二十)IO流(三)

这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:字符流(掌握) (1)字节流操作中文数据不是特别的方

java基础(二十一)IO流(四)

这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:登录注册IO版本案例(掌握) 要求,对着写一遍. c