今天接着昨天的IO流讲,内容可能会比较多。
DataInputStream与DataOutputStream
它们是建立在已有的IO的基础上的两个特殊的过滤流。规律:它们只是增加了一些特定的方法读取特定的数据。
举例说明1:
-
publicclassTest{
-
publicstaticvoidmain(String[]args){
-
DataOutputStreamdos=null;
-
try{
-
dos=newDataOutputStream(newFileOutputStream("F:/price.txt"));
-
dos.writeDouble(243.21);
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}finally{
-
try{
-
dos.close();
-
}catch(IOExceptione2){
-
e2.printStackTrace();
-
}
-
}
-
}
-
}
举例说明2:
-
publicclassTest{
-
publicstaticvoidmain(String[]args){
-
DataInputStreamdis=null;
-
try{
-
dis=newDataInputStream(newFileInputStream("F:/price.txt"));
-
System.out.println(dis.readDouble());
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}finally{
-
try{
-
dis.close();
-
}catch(IOExceptione2){
-
e2.printStackTrace();
-
}
-
}
-
}
-
}
节点流(System.in是读取键盘输入,可以换成new FileInputStream("f:/1.txt")读文件,也可以换成读网络(Socket)--以后会讲)包装成过滤流编程:
-
publicclassTest{
-
publicstaticvoidmain(String[]args){
-
BufferedReaderbr=null;
-
try{
-
br=newBufferedReader(newInputStreamReader(System.in));
-
Stringline=null;
-
while((line=br.readLine())!=null){
-
System.out.println(line);
-
}
-
-
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}
-
}
-
}
Java虚拟机读取其他进程的数据:
Java如何启动其他进程:Runtime实例.exec(String command)
举例说明:
-
publicclassTest{
-
publicstaticvoidmain(String[]args){
-
Processprocess=null;
-
BufferedReaderbr=null;
-
try{
-
process=Runtime.getRuntime().exec("javac.exe");
-
br=newBufferedReader(newInputStreamReader(
-
process.getErrorStream()));
-
Stringline=null;
-
System.out.println("编译出错,错误信息如下~~~~~");
-
while((line=br.readLine())!=null){
-
System.out.println(line);
-
}
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}finally{
-
try{
-
br.close();
-
}catch(IOExceptione2){
-
e2.printStackTrace();
-
}
-
}
-
}
-
}
RandomAccessFile---随机(任意)访问文件。 --创建时需要指定r/w模式。
Random --想访问文件的哪个点,就访问文件的哪个点(任意)。
特征:既可读、又可写、还可追加,不会覆盖原有文件内容。但它只能访问文件。
举例说明1:
-
publicclassTest{
-
publicstaticvoidmain(String[]args)throwsIOException{
-
RandomAccessFileraf=newRandomAccessFile("f:/1.txt","rw");
-
byte[]buff=newbyte[1024];
-
inthasRead=-1;
-
while((hasRead=raf.read(buff))>0){
-
System.out.println(newString(buff,0,hasRead));
-
}
-
raf.close();
-
}
-
}
举例说明2:
-
-
-
-
-
publicclassTest{
-
publicstaticvoidmain(String[]args){
-
RandomAccessFileraf=null;
-
try{
-
raf=newRandomAccessFile("f:/1.txt","rw");
-
insertContent(raf,100,"Java面向对象之I/O流之RandomAccessFile的使用");
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}finally{
-
try{
-
raf.close();
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}
-
}
-
}
-
-
publicstaticvoidinsertContent(RandomAccessFileraf,intpos,
-
Stringcontent){
-
ByteArrayOutputStreambos=null;
-
try{
-
bos=newByteArrayOutputStream();
-
raf.seek(pos);
-
byte[]buff=newbyte[1024];
-
inthasRead=-1;
-
-
while((hasRead=raf.read(buff))>0){
-
bos.write(buff,0,hasRead);
-
}
-
raf.seek(pos);
-
raf.write(content.getBytes());
-
raf.write(bos.toByteArray());
-
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}finally{
-
try{
-
bos.close();
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}
-
}
-
}
-
}
结束语
有关Java中的IO流类比较多,而且方法大同小异,大家有空可以多查查API文档。今天就讲到这,明天开始讲Java面向对象之序列化机制及版本。
分享到:
相关推荐
本系统是基于JAVA开发平台,运用Socket网络编程,I/O文件流,线程,Swing图形界面等技术,实现的一套标准化考试系统。通过该系统可以完成多个科目的标准化考试工作。 该系统共分为三个模块:考生客户端,服务器端和...
Java I/O学习笔记: 磁盘操作 字节操作 字符操作 对象操作 网络操作 NIO & AIO Java I/O Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,意味着可以在不同的操作系统上运行...
Java知识点总结大全(五) -- io流,关注后面会分享面向对象,io,集合,多线程,网络,sql的总结
全书共12章,内容包括面向对象程序设计概述,Java语言概述,Java语言基础,类、对象和接口,包和Java基础类,Java异常处理,Java图形用户界面设计,Applet及其应用,I/O系统,多线程编程,多媒体编程和网络编程等。
操作文件或目录的属性,读写文本文件,二进制文件的读写
《Java面向对象程序设计》通过丰富、实用的精选实例系统地介绍了使用Java语言进行面向对象程序设计的方法和技术,注重提高读者运用Java语言和面向对象技术解决实际问题的能力。全书共12章,内容包括面向对象程序设计...
掌握类的继承、方法重写、super关键字的使用、final关键字、抽象类和接口、多态的使用以及异常的处理方式 熟悉面向对象继承和多态的概念
本书以Java语言面向对象的编程理念为出发点,循序渐进地介绍Java语言...通过融入Java面向对象的编程思想,使读者在学习理论知识的同时,初步掌握面向对象的系统分析、设计与开发能力,为大型软件的设计和开发奠定基础。
Day1 一、 从面向过程编程到面向对象编程的思维转变 二、 什么是字节码和虚拟机: 三、 环境变量的设置 四、 kate工具的使用 五、 我们的第一个Java程序 ...一.I/O 流(java 如何实现与外界数据的交流)
8、JAVA面向对象之函数、堆和栈、访问修饰符 9、JAVA面向对象关键字 10、JAVA面向对象抽象类abstract 11、JAVA面向对象接口interface 12、JAVA面向对象之内部类、匿名内部类 13、JAVA集合框架之简介 14、JAVA...
这是一个坦克大战的小游戏,虽然是个游戏,但是他对于初学java的人来说是个很好的练习运用知识的地方。它涵盖了java很多种的方面如 java线程、javaI/O流、java集合、最重要的是java面向对象的思想。
几乎涵盖了 Java 基础面向对象,封装继承多态,I/O 流,多线程,网络,数据库的所有知识 项目用到的主要技术 利用阿里云的短信API服务提供登录注册时的短信发送 利用 Java Mail 实现发送邮件 用户密码采用 MD5 加盐...
第6章 Java面向对象程序设计(下) 第7章 Java异常处理机制 第8章 Java反射机制 第9章 数据结构与集合类 第3篇 图形用户界面 第10章 Java Swing(上) 第11章 Java Swing(下) 第12章 Applet网页小程序 第13章 图形...
Day03:面向对象 Day04:修饰符与类权限 Day05:类与接口 Day06:集合类型 Day07:反射机制与内部类 Day08:异常与Swing图形界面 Day09:swing图形界面与AWT事件模型 Day10:JFC基础类库(具体类查看API) Day11:多...
Java实训项目,综合面向对象、I/O、实用类、集合框架等知识点
★ 第四讲 Java的例外处理和I/O流 ◇课前索引 ◇4.1 什么是例外 ◇4.2 例外的处理 ◇4.3 自定义例外类的使用 ◇4.4 I/O 流概述 ◇4.5 文件处理 ◇4.6 过滤流 ◇4.7 字符流的处理 ◇4.8 对象的串行化 ◇...
1.内容概要: 包括《Java基础入门(第3版)》的课后习题答案 2.适用人群: Java初学者 ...(4)学习常用的Java库和框架:了解Java的常用库和框架,如集合、I/O流、多线程等,可以帮助你更好地编写代码。
面向对象编程:Java 是一门面向对象的编程语言,因此需要学习面向对象的概念、封装、继承、多态等。同时还需学习类、对象的创建和使用、方法的定义和调用等知识。 核心类库:Java 提供了丰富的核心类库,包括集合...
这是清华大学的一套JAVA教程,包括详尽的例子、课后习题与解答、相关计算机英语词汇,就课程...同时Java语言是一门面向对象的语言,通过学习可以掌握用面向对象进行编程的思想和实践,使学生成为一名合格的Java程序员。
★ 第四讲 Java的例外处理和I/O流 ◇课前索引 ◇4.1 什么是例外 ◇4.2 例外的处理 ◇4.3 自定义例外类的使用 ◇4.4 I/O 流概述 ◇4.5 文件处理 ◇4.6 过滤流 ◇4.7 字符流的处理 ◇4.8 对象的串行化 ◇...