java.io中流的操作:字节流、字符流
(1)使用File类打开一个文件
(2)通过字节流或字符流的子类指定输出的位置
(3)进行读/写操作
(4)关闭输入/输出

1、字节流:主要是byte类型数据,以byte数组为准

输出数据:OutputStream类:字节输出流最大父类
输入数据:InputStream类

(1)

//第一步:使用File类打开电脑中的一个文档,文件不存在会自动创建
File f = new File("文件路径");
//第二步:通过字节流或字符流的子类指定输出的位置
OutputStream out = null;
out= new FileOutputStream(f);
//要输出的对象
String str = "Hello World";
//只能输出byte数组,所以需要将字符串变为byte数组
byte b[] =str.getBytes();
//将内容输出
out.write(b);
//关闭输出流
out.close();

(2)

//第一步:使用File类打开电脑中的一个文档
File f = new File("文件路径");
//第二步:通过字节流或字符流的子类指定读取的位置
InputStream input = null;
input= new FileInputStream(f);
//进行读操作,读到byte数组中,开辟大小为1024内存用来放数据
byte b[] = new byte[];
input.read(b);
//关闭输入流
input.close();
//把byte数组变为字符串输出
System.out.println("内容为:"+new String(b));

2、字符流

输出数据:Writer类
输入数据:Reader类

(1)

File f = new File("文件路径");
Writer out = null;
out= new FileWriter(f);
String str = "Hello World";
out.write(str);
out.close();

不需要将字符串变为byte数组之后再输出

(2)

//第一步:使用File类打开电脑中的一个文档
File f = new File("文件路径");
//第二步:通过字节流或字符流的子类指定读取的位置
Reader reader = null;
reader= new FileReader(f);
//进行读操作,读到byte数组中,开辟大小为1024内存用来放数据
char c[] = new char[];
reader.read(c);
//关闭输入流
reader.close();
//把byte数组变为字符串输出
System.out.println("内容为:"+new String(c));

区别:字符流操作时使用了缓冲区

缓冲区:关闭字符流时会强制性地将缓冲区中的内容进行输出,没有close(),缓冲区的内容是无法输出的,flush()方法会强制性清空缓冲区内容,然后输出数据

3、转换流——字符流<——>字节流

OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流(存储在文件中的只能是字节形式的数据)
InputStreamReader:是Reader的子类,将输入的字节流变为字符流(比如:BufferReader操作的只能是字符流)

java.io中流的操作:字节流、字符流的更多相关文章

  1. Java IO(十二) 字符流 Writer 和 Reader

    Java IO(十二) 字符流 Reader和 Writer 一.介绍 涉及到文件(如果是纯文本文件形式)操作时,Java除了提供 FIle(文件和目录路径名的抽象表示形式) 和 FileDescri ...

  2. -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流

      File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...

  3. IO流(字节流,字符流,缓冲流)

    一:IO流的分类(组织架构) 根据处理数据类型的不同分为:字节流和字符流 根据数据流向不同分为:输入流和输出流   这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图:   二:字符字节 ...

  4. java.io包中的字节流—— FilterInputStream和FilterOutputStream

    接着上篇文章,本篇继续说java.io包中的字节流.按照前篇文章所说,java.io包中的字节流中的类关系有用到GoF<设计模式>中的装饰者模式,而这正体现在FilterInputStre ...

  5. JAVA IO分析二:字节数组流、基本数据&对象类型的数据流、打印流

    上一节,我们分析了常见的节点流(FileInputStream/FileOutputStream  FileReader/FileWrite)和常见的处理流(BufferedInputStream/B ...

  6. Java IO(五)字节流 FileInputStream 和 FileOutputStream

    Java IO(五)字节流 FileInputStream 和 FileOutputStream 一.介绍 字节流 InputStream 和 OutputStream 是字节输入流和字节输出流的超类 ...

  7. Java之IO流(字节流,字符流)

    IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的 ...

  8. 【C#IO 操作】stream 字节流|字符流 |比特流

    stream的简介 Stream 所有流的抽象基类. 流是字节序列的抽象,例如文件.输入/输出设备.进程中通信管道或 TCP/IP 套接字. Stream类及其派生类提供这些不同类型的输入和输出的一般 ...

  9. java 输入输出IO流 字节流| 字符流 的缓冲流:BufferedInputStream;BufferedOutputStream;BufferedReader(Reader in);BufferedWriter(Writer out)

    什么是缓冲流: 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率. 图解: 1.字节缓冲流BufferedInputStr ...

随机推荐

  1. (一)stm32之CMSIS标准、库目录、GPIO

    一.CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU.该内核是ARM公司设计的一种处理器体系架构.内核与外设的关系就像PC上的CPU与硬盘.主板.内存等的 ...

  2. 转:Teach Yourself Programming in Ten Years——用十年教会自己编程

    转自:http://blog.csdn.net/UndeadWraith/article/details/6140455 作者:Peter Norvig 译者:刘海粟 本文原文为:http://nor ...

  3. J2EE 第二阶段项目之编写代码(四)

    我的任务就是项目统计. 1 效益统计 1 教育效益统计表 (教育效益统计表,增,改,查看,查) 2 农牧林效益统计表 (农牧林效益统计表,增,改,查看,查) 3 乡村效益统计表    (乡村效益统计表 ...

  4. 20160805_CentOS6_控制台切换

    1. Ctrl + Alt + F1~F6 Ctrl + Alt + F1 是 图形界面(如果装了的话),后面的是 控制台界面 2. 3.

  5. PHP工程师突破

    身边有几个做PHP开发的朋友,因为面试,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展. PHP工程师面临成长瓶颈 先明确我所 ...

  6. python自定义函数大全

    写的零碎的python脚本太多了,到一定阶段就会出现一个问题,即以前写过的脚本找不到了,现在临时要用,还得再重写一遍,这就非常难受了,代码不能复用. 还好我有一个比较好的习惯,我喜欢把python脚本 ...

  7. Java客户端通过Http发送POST请求上传文件到web服务器

    http://www.cnblogs.com/WilliamJiang/archive/2012/04/29/2475883.html 1.朋友的一个需求,让我给他实现,需求是这样的,需要用ASP.n ...

  8. Java Swing事件处理机制

    Java Swing的事件处理机制 Swing GUI启动后,Java虚拟机就启动三个线程,分别为主线程,事件派发线程(也是事件处理线程)和系统工具包线程. 主线程 :负责创建并显示该程序的初始界面: ...

  9. python遍历目录

    os.walk() 用元组表示(dirpath, dirnames, filenames): 第一个是根路径,dirpath为str类型: 第二个是根路径中的文件夹,dirnames为list类型: ...

  10. VI编辑器学习笔记

    VIM的使用 VI是Linux系统中的一种编辑器,它的使用方法和界面与Unix平台十分相似,掌握了VIM的特殊,你可以感觉到它强大的功能与高效.Vim 相对来说较小,无论你使用任何Linux系统,你总 ...