`
bbo57bbo
  • 浏览: 12130 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

第二十二章输入/输出

 
阅读更多

第二十二章输入/输出
2011年04月03日
  
输入/输出(I/O)是每一项计算机语言,必须有的东西。不让人输入数据的话,计算机怎么处理数据呢?在java语言中,I/O的方式是流的方式。流(stream)这是个学习java输入输出的最基本的概念。流是字节从源到目的的有序序列。一方面是字节,一方面是有序的。流描述的是一个过程,顺序严格。一个需要键盘输入的程序可以用流来做到这一点。两种基本的流是:输入流和输出流。你可以从输入流读,但你不能对它写。要从输入流读取字节,必须有一个与这个流相关联的字符源。这些东西都放在java.io.*这个包里了。io是java的第一大包。在java.io 包中,有一些流是结点流,即它们可以从一个特定的地方读写,例如磁盘或者一块内存。其他流称作过滤流。一个过滤器输入流是用一个到已存在的输入流的连接创建的。此后,当你试图从过滤输入流对象读时,它向你提供来自另一个输入流对象的字符。
  常见的几种流:
  u       字节流:传字节的。以8位字节为单位进行读写,以InputStream与OutputStream为基础类
  u       字符流: 传字符的。以16位字符为单位进行读写,以Reader与Writer为基础类
  u       文件流: 传文件的。属于节点流,对文件读写,传输。里面的类很多。
  u       序列化:传对象的。一个对象怎么读啊,只有变成二进制才可以读,这就是序列化。
  实践:
  //这是一个字节流的例子,以InputStream与OutputStream为基础类
  importjava.io.*;
  classByteArrayOutputStreamDemo {
  public static void main(String args[]) throwsIOException {
  ByteArrayOutputStream f = new ByteArrayOutputStream();
  String s = "This should end up in the array";
  byte buf[] = s.getBytes();
  f.write(buf);
  System.out.println("Buffer as a string");
  System.out.println(f.toString());
  System.out.println("Into array");
  byte b[] = f.toByteArray();
  for(inti=0; iread() at a time");
  for (int i=0; i read(b[])");
  byte b[] = new byte[n];
  if (f.read(b) != n) {
  System.err.println("couldn't read " + n + " bytes.");
  }
  System.out.println(new String(b, 0, n));
  System.out.println("\nStill Available: " + (size = f.available()));
  System.out.println("Skipping half of remaining bytes with skip()");
  f.skip(size/2);
  System.out.println("Still Available: " + f.available());
  System.out.println("Reading " + n/2 + " into the end of array");
  if (f.read(b, n/2, n/2) != n/2) {
  System.err.println("couldn't read " + n/2 + " bytes.");
  }
  System.out.println(new String(b, 0, b.length));
  System.out.println("\nStill Available: " + f.available());
  f.close();
  }
  }
分享到:
评论

相关推荐

    C++语言程序设计习题与实验指导

    第十二章:异常处理 第十三章:MFC库与Windows程序开发概述 第二部分:实验指导 实验1:Visual C++ 6.0开发环境应用入门(2学时) 实验2:C++简单程序设计(4学时) 实验3:函数的应用(2学时) 实验4:类与...

    java基础技术介绍,比如数据类型,语法等等

    第 21章 介绍 AWT:使用窗口、图形、文本第 22章 使用AWT控件、布局管理器和菜单第 23章图像 第 24章附加的包 第3部分Java软件开发技术 第 25章 Java Beans第 26章 Swing 第 27章从C++到Java第4部分 应用Java 第 28章...

    第9章 输入输出流1

    第9章 输入输出流I/O基本原理22 October 2019输入输出流v为了实现对外设的统一管理,屏蔽不同外设的差异,Java用java.io包实现上层软件与

    C++ PPT课件。。。。

    第一章 C++概述,第二章 数据类型、运算符与表达式,第三章 简单的输入输出,第四章 C++的流程控制语句,第五章 函数与编译预处理,第六章 数组 ,第七章 结构体、共同体和枚举类型 ,第八章 指针和引用,第九章 类...

    C++程序设计原理与实践高清版.part2(1)

    第3章 对象、类型和值 第4章 计算 第5章 错误 第6章 编写一个程序 第7章 完成一个程序 第8章 函数相关的技术细节 第9章 类相关的技术细节 第二部分 输入和输出 第10章 输入/输出流 第11章 定制输入/输出 第12章 一...

    C++程序设计原理与实践高清版.part1(1)

    第3章 对象、类型和值 第4章 计算 第5章 错误 第6章 编写一个程序 第7章 完成一个程序 第8章 函数相关的技术细节 第9章 类相关的技术细节 第二部分 输入和输出 第10章 输入/输出流 第11章 定制输入/输出 第12章 一...

    第十二章输入输出流-java程序设计ppt讲义.ppt

    第十二章输入输出流-java程序设计ppt讲义.ppt

    《C++:程序设计原理与实践》

    本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。...第22章 理念和历史 第23章 文本处理 第24章 数值计算 第25章 嵌入式系统程序设计 第26章 测试 第27章 C语言

    nxp lpc11c14中文手册

    第一章 概述 第二章 存储器映射 第三章 系统配置 第四章 电源管理单元(PMU) 第五章 功率配置文件 第六章 中断控制器 第七章 IO口配置 第八章 管脚配置 第九章 通用输入/输出口 ...第二十二章 ARM Cortex-M0参考资料

    Linux网络编程电子书.rar

    第一章 linux网络编程概述 第二章 tcp/ip 第三章 套接字函数 第四章 tcp客户机服务器程序实例 ...第十二章 输入输出模型 第十三章 服务器模型 第十四章 服务器/客户端程序源码(qq模拟和网上选课系统)

    Let-Us-C:C语言

    Let-Us-C(第16版) ------- Yashavant Kanetkar着 C语言 主题 :- 章节 主题名称 第1章 入门 第2章 C指令 第3章 ...第十二章 ...控制台输入/输出 ...文件输入/输出 ...输入/输出中的更多问题 ...第22章 杂项功能

    JAVA语言程序基础教程

    第一章 Java语言的基础知识 第二章 面向对象的编程 第三章 Java程序的执行 第四章 标识符、关键字与类型 ...第十二章 Java中的输入/输出 第十三章 线程 第十四章 Java中的网络编程 第十五章 Java与数据库(JDBC)

    GNU/Linux编程指南(第二版)中文版含光盘

    第22章 底层终端控制 第23章 ncurses入门 第24章 ncurses高级编程 第25章 X Windows编程 第26章 Athena、Motif和LessTif窗口部件 第27章 使用GTK+进行GUI编程 第28章 使用Qt进行GUI编程 第29章 使用OpenGL和Mesa进行...

    上海交大C++面向对象

    第一章 C++入门 第二章 基本数据类型与输入输出 第三章 表达式和语句 第四章 过程化语句 第五章 函数 第六章 程序结构 ...第七章 数组 ...第八章 指针 ...第九章 引用 ...第二十章 模板 第二一章 异常处理

    perl技术内幕,perl黑皮书

    第22章 CGI:创建WEB计数器、来宾簿、电子邮件程序和安全脚本 第23章 CGI:创建多用户聊天、服务器推技术、COOKIE和游戏 第24章 CGI:创建购物车、数据库、站点搜索和文件上传 第25章 XML::DOM解析 第26章 XML...

    C#程序员参考手册(pdf)

    预处理命令 第20章 XML文档 第21章 .NET类的路标 第22章 系统类 第23章 集合 第24章 输入/输出 第25章 反射 第26章 文本操作 第27章 正则表达式 第28章 线程 附录A C#关键字 附录B...

    Visual C#.NET从入门到精通

    可以用超星阅读软件打开。...第22章 数据库介绍 第23章 活动数据对象:ADO.NET 第24章 Windows应用介绍 第25章 活动服务页:ASP.NET 第26章 Web服务 附录A C#关键字 附录B C#编译选项 附录C 正则表达式

Global site tag (gtag.js) - Google Analytics