《Java程序设计》实验十一 Java的数据流(一)

合集下载

java输入输出流实验报告总结

java输入输出流实验报告总结

java输入输出流实验报告总结Java输入输出流是Java中非常重要的概念,也是Java程序设计的基础。

在Java 程序中,输入输出流用于处理与设备之间的数据传输,例如键盘、鼠标、文件等。

Java的输入输出流主要包含两种类型:字节流和字符流。

字节流以字节为最小读写单位,而字符流以字符为最小读写单位。

Java的输入流有很多种类型,例如:InputStream、ByteArrayInputStream、FileInputStream等。

这些输入流的共同特点是读取外部数据到程序中。

Java的输出流也有多种类型,例如:OutputStream、ByteArrayOutputStream、FileOutputStream等。

这些输出流的共同特点是将程序中的数据输出到外部。

下面将以实验报告的形式进行总结,详细介绍Java输入输出流的原理和使用方法。

实验一:字节流输入输出1. 实验目的:掌握字节流输入输出的基本使用方法。

2. 实验内容:编写一个程序,实现从文件中读取数据,然后将数据输出到另一个文件中。

3. 实验步骤:a. 创建一个输入流对象,用于读取原始文件的数据。

b. 创建一个输出流对象,用于将读取到的数据输出到目标文件中。

c. 循环读取输入流中的数据,直到读取到文件末尾。

d. 将读取到的数据写入输出流中。

e. 关闭输入流和输出流。

4. 实验结果:成功读取原始文件中的数据,并将数据输出到目标文件中。

实验二:字符流输入输出1. 实验目的:掌握字符流输入输出的基本使用方法。

2. 实验内容:编写一个程序,实现从键盘输入文字,然后将文字输出到屏幕上。

3. 实验步骤:a. 创建一个字符输入流对象,用于读取键盘输入的文字。

b. 创建一个字符输出流对象,用于将读取到的文字输出到屏幕上。

c. 循环读取输入流中的文字,直到读取到换行符。

d. 将读取到的文字写入输出流中。

e. 关闭输入流和输出流。

4. 实验结果:成功从键盘输入文字,并将文字输出到屏幕上。

Java的输入与输出流(实验报告)

Java的输入与输出流(实验报告)

成都大学实验报告实验项目名称Java的输入与输出流一、实验目的:1. 理解I/O流的概念,掌握其分类2. 掌握文本文件读写、二进制文件读写二、实验内容(包括源程序及相关说明):1. 分别使用FileWriter 和BufferedWriter 往文件中写入10万个随机数,比较用时。

源代码如下:(1)import java.io.*;public class Ex1_1 {public static void main(String[] args) throws IOException{long t=System.currentTimeMillis();FileWriter fw =new FileWriter("d:\\Ex1.txt");for(int i=1;i<=100000;i++){fw.write((int)(Math.random()*10000)+" \n");}fw.close();t=System.currentTimeMillis()-t;System.out.println("The elapsed: "+t);}}(2)import java.io.*;public class Ex1_1 {public static void main(String[] args) throws IOException{long t=System.currentTimeMillis();BufferedWriter fw=new BufferedWriter(new FileWriter("d:\\Ex1.txt"));for(int i=1;i<=100000;i++){fw.write((int)(Math.random()*10000)+"\n");}fw.close();t=System.currentTimeMillis()-t;System.out.println("The elapsed: "+t);}}2. 生成一个html文件,使其能显示2的幂次(0~9)的表格如下:代码如下:import java.io.*;public class Ex1_1 {public static void main(String[] args) throws IOException{BufferedWriter bw=new BufferedWriter(new FileWriter("d:\\Ex2.html"));bw.write("<table border=1 align=center width=200 height=250>");bw.newLine();bw.write("<tr><td align=center>Power of 2<td align=center>Value</tr>");for(int i=0;i<=9;i++){bw.write("<tr><td align=center>"+i+"<td align=center>"+Math.pow(i, 2)+"</tr>");}bw.write("</table>");bw.newLine();bw.close();}}3. 在文本文件bigbook.txt中包含有很长篇幅的英语短文,编写程序要求统计文件的所有短文中包含英文字母“A”的个数,并显示统计的时间。

《java程序设计》实验指导书(完整).

《java程序设计》实验指导书(完整).

实验一 Java实验环境的建立一、实验目的1.掌握Java编程环境的搭建过程;2.掌握Jcreator pro软件的使用方法;3.能使用Java doc文档。

二、实验内容1.下载并安装JDK1.6,配置JDK环境变量;2.下载Javadoc压缩包并解压在JDK安装路径下;3.下载Jcreator pro 4.0并安装和配置使用环境;4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。

①Java application程序代码如下:public class HelloJava{public static void main(String args[]){System.out.println("Hello Java!");}}②Java applet程序代码如下:import java.awt.*;public class Hello extends java.applet.Applet{public void paint(Graphics g){g.drawString("Hello!",30,30);}}三、试验要求1、预习试验内容并写出上机报告。

2、实验中出现的问题及实验体会。

实验二 Java语言程序设计训练一、实验目的:1.输入、输出操作实现原理和方法2.掌握程序流程控制的实现方法3.掌握数组的定义和操作方法二、实验内容1.计算 Result=1!+2!+3!+ (10)public class TestJieC{public static void main(String arg[]){long result=1;for(int i=1;i<=10;i++){ result=i*result;result+=result;}System.out.println(" "+result);}}2.计算1---50之间所有素数的和。

《Java语言程序设计》专业实习任务书(一)

《Java语言程序设计》专业实习任务书(一)

《Java语言程序设计》专业实习任务(一)一、设计目的:本次设计是对教材前7章的总结。

在学习Java基本语法的基础上,利用面向对象的程序设计方法解决一些简单的问题。

设计的目的在于掌握Java的基本原理、设计方法和使用规则;能够运用面向对象方法分析问题,并利用所学知识合理地进行设计;熟练掌握Application的编写和运行过程;并能够进行简单的GUI设计。

二、设计题目:㈠程序改错。

根据题目要求调试下面的程序,分析错误原因并改正,直到运行正确,写出运行结果。

⒈输出40以内的素数,每行输出6个数。

public class Prime_1_1{public static void main(String[] args){final int MAX=40;int i,j,num;System.out.print(2+"\t");counter++;for(num=3;num<=MAX;num=num+2);{int k=3;while(num%k!=0&&k<num) k=k+2;if(k==num){ System.out.print(num+"\t");counter++;if(counter%6==0) System.out.println();}}}}⒉给对象u初始化(姓名:liqiang 性别:m),并显示该对象的数据成员值。

public class Hide_1_2{String name;char gender;public Hide_1_2(String name,char ch){name=name;gender=ch;}public showInfor(){System.out.println("Name: "+name);System.out.println("Gender: "+gender);}public static void main(String[] args){Hide_1_2 u= new Hide_1_2("liqiang",'m');u.showInfor();}}⒊调用Link类的方法完成两个字符串的连接和输出。

java,数据流,java数据流

java,数据流,java数据流
DataOutputStream dos = new DataOutputStream(pos1);
try {
System.out.println("put:" + num);
dos.writeDouble(num);
} catch (IOException e) {
oos.close();
pipe管道流:::
final PipedInputStream pis1 = new PipedInputStream(); //管道输入流
final PipedOutputStream pos1 = new PipedOutputStream(pis1); //管道输出流
e.printStackTrace();
}
}
}
};
//产生数据的线程
Thread fang =new Thread(){
public void run(){
while (true) {
double num = Math.random();
int st = jfc.showSaveDialog(null); //保存文件的选择器
if(st == JFileChooser.APPROVE_OPTION) {
fileto = jfc.getSelectedFile();
}
if(type == JFileChooser.APPROVE_OPTION) {
path = jfc.getSelectedFile(); //得到选择的文件路径
}
File fileto = null;
FileInputStream fis = new FileInputStream(path); //文件的输入流,文件的路径为path

Java程序设计(MOOC)1、JAVA的输入输出(1、流的概念及分类)

Java程序设计(MOOC)1、JAVA的输入输出(1、流的概念及分类)

《java程序设计》讲义JAVA的输⼊入输出1、流的概念及分类教学重点掌握JAVA中IO的概念。

理解IO输⼊入输出的分类,按操作单位、按流向、按功能。

理解字节流与字符流的区别。

掌握JAVA中字节流与字符流对应的类型。

理解File对象与本地⽂文件的关系熟练掌握JAVA中IO流的常用操作教学难点缓冲流的实现原理。

IO流的性能分析。

不同IO流的使用场景,如何选择IO。

教学目标字符流:熟练掌握OutpuStream和InputStream的定义及其常用的⽅方法字节流:熟练掌握Writer和Reader的定义及其常用⽅方法转换流:掌握InputStreamReader和OutputStreamWriter将字符流转换成字节流缓冲流:熟练掌握BufferedReader的定义及其常用⽅方法对象流:熟练掌握ObjectInputStream和ObjectOutputStream打印流:熟练掌握PrintWriter的常用⽅方法1、引⾔言l●时间: 5分钟l●教学⽅方法:现实⽣生活例⼦子,讨论,解释1) 、打开记事本,提问,记事本的功能是什么?编写⽂文字,将内容信息存储到磁盘上,持久化保存。

打开已经存在的⽂文件,查看⽂文件的内容。

2)、什么是持久化?内存、外存的概念是什么?变量是在内存中⽣生成⼀一个能够存放数据的空间(⼀一个盒⼦子),空间有⼤大小,取决于数据类型3)、什么是IO,输⼊入输出?在计算机的组成结构中,有⼀一个很重要的部分,就是存储器。

存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常⼯工作。

外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。

内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执⾏行中)的数据和程序,它的物理实质就是⼀一组或多组具备数据输⼊入输出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,⼀一旦关闭电源或发⽣生断电,其中的程序和数据就会丢失。

合肥学院java实验十一

合肥学院java实验十一
《面向对象程序设计》实验报告
合肥院学院计算机科学与技术系
实验名称:输入输出流
日期:
姓名/学号:专业/班级:指导老师:成绩:
一、实验目的:(详见指导书,宋体小四)
熟悉Java的文件读写机制,练习输入输出流的使用。
二、实验要求:(详见指导书,宋体小四)
1.通过实验掌握文件输入输出流的使用方法;
2.程序必须能够从键盘接收字符串并保存在文件中;
3.程序必须能够读出文件内容显示在屏幕上;
4.写出实验报告。
三、实验内容及过程:(宋体小四,)
1、键盘输入10个整数,从小到大进行排序。
2、接收键盘输入的字符串,用FileInputStream类将字符串写入文件,用FileOutputStream类读出文件内容显示在屏幕上。
3、将一个文本文件的内容按行读出,每读出一行就顺序加上行号,并写入到另一个文件中。
try
{
FileReader file=new FileReader(".\\AddlineNo.java");
LineNumberReader in=new LineNumberReader(file);
while ((str=in.readLine()) != null)
{
System.out.println(in.getLineNumber()+":"+str);
{
System.out.println(array[k]);
}
}
}
2.
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

《Java程序设计》上机实验报告 实验五 流、文件及基于文本的应用

《Java程序设计》上机实验报告 实验五   流、文件及基于文本的应用

信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)2.编写一个程序,能将一个源程序中的空行及注释去掉,并将处理后的内容写到目标文件中。

(源文件名称和目标文件名称均要求以命令行参数形式输入)import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;public class CopyFile {static String delComm(String s){if(s==null)return s;int pos=s.indexOf("//"); //去掉以//开始的注释if(pos<0)return s;return s.substring(0,pos);}public static void main(String args[]){String infname="CopyFile.java";String outfname="CopyFile.txt";if(args.length>=1)infname=args[0];if(args.length>=2)outfname=args[1];try{File fin=new File(infname);File fout=new File(outfname);BufferedReader in = new BufferedReader(new FileReader(fin));PrintWriter out = new PrintWriter(new FileWriter(fout));int cnt=0;String s = in.readLine(); //写字符串while(s != null){主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)cnt ++;s=delComm(s); //去掉以//开始的注释out.println(cnt+":\t"+s);//写出s=in.readLine(); //读入}in.close(); //关闭缓冲读入流及文件读入流的连接out.close();}catch (FileNotFoundException e1){System.out.println("File not found");}catch(IOException e2){e2.printStackTrace();}}}主要问题的出错现象:1)运行程序后,无对应的输出结果出现2)源程序编写过程中,出现方法和类的调用无法完成.出错原因:1)函数调用时候,相关函数输入变量错误2)方法名的书写不符合规范,使得方法变为变量.解决方法及效果:1) 编写和调用类的方法时,注意参数的类型和数量的对应.2)规范命名.常量用大写字母,变量用小写字母开始,类以大写字母开始.实验小结:1) 为每个类分配正确的职责.尽量保持类功能单一. 不要在一个类中做太多事.2) BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。

Java数据流PPT课件

Java数据流PPT课件
}catch(IOException e) { System.err.println(": "+e);
}}}
缓冲区数据流
• 增加缓冲区流,减少访问硬盘的次数,提高效率
输入缓冲区 输出缓冲区
输入流
输出流
文件
文件流
缓冲区流
缓冲区数据流
• 缓冲区流:
• BufferedInputStream和 BufferedOutputStream
• 将它们与文件流相接
• in=new

(“”);
• BufferedInputStream bin=

new BufferedInputStream(in,256)
缓冲区数据流
• 只有缓冲区满时,才会将数据送到输出流. • Java在输出数据流中,当对方尚未将数据取走时,
程序就会被阻塞. • 有时要人为地将尚未填满的缓冲ቤተ መጻሕፍቲ ባይዱ中的数据送
基本的I/O数据流
▪ 按照功能划分为两种基本的流:输入流和输出流 –输入流: 只能从中读取数据,而不能向其写出 数据 – 输出流: 只能向其写出数据,而不能从中读取 数据 –输入和输出流可以被连接到文件、网络套接字 或内存缓冲区。
字符流和字节流
▪ 按处理数据的单位划分,Java支持两 种基本 的流类型:字节流和字符流
出,使用flush()方法.
文件
数据输入输出流
• 文件流和缓冲区流的处理对象是字节或字节数组,利用数据输入 输出流可以实现对文件的不同数据类型的读写。
• DataInputStream和DataOutputStream:一种较为高级的数据输
入输出方式,除了字节和字节D数a组ta,I还n可pu以tS处tr理eainmt,的flo方at,法bo与olean

JAVA流大全详细介绍

JAVA流大全详细介绍

JAVA流大全详细介绍1. 字节流(Byte Streams)字节流主要用于处理二进制数据,分为输入流和输出流。

其中,InputStream是字节输入流的抽象类,FileInputStream是InputStream 的子类,用于从文件中读取字节数据。

OutputStream是字节输出流的抽象类,FileOutputStream是OutputStream的子类,用于将字节数据写入文件。

2. 字符流(Character Streams)字符流主要用于处理文本数据,分为输入流和输出流。

其中,Reader 是字符输入流的抽象类,BufferedReader是Reader的子类,提供了缓冲功能,可以一次读取一行文本。

Writer是字符输出流的抽象类,BufferedWriter是Writer的子类,提供了缓冲功能,可以一次写入一行文本。

3. 缓冲流(Buffered Streams)缓冲流可以提高读写效率,可以将输入输出流包装成缓冲流对象。

BufferedReader和BufferedWriter都是缓冲流的具体实现。

它们通过内部缓冲区来减少对物理设备的访问次数,提高读写效率。

4. 数据流(Data Streams)数据流可以用于读写Java的基本数据类型、字符串和对象。

其中,DataInputStream是数据输入流的具体实现,DatOutputStream是数据输出流的具体实现。

DataInputStream可以从输入流中读取基本数据类型和字符串,DataOutputStream可以将基本数据类型和字符串写入输出流。

5. 对象流(Object Streams)对象流可以用于读写Java对象。

ObjectInputStream是对象输入流的具体实现,ObjectOutputStream是对象输出流的具体实现。

对象流可以将Java对象序列化为字节序列,然后重新反序列化为Java对象。

6. 文件流(File Streams)文件流主要用于处理文件输入输出,包括FileInputStream和FileOutputStream。

(完整版)《JAVA程序设计》实验报告

(完整版)《JAVA程序设计》实验报告

福建师范大学协和学院本科实验报告课程名称:JA V A程序设计系别:专业:班级:学号:学生姓名:2011年月日实验项目列表《JA V A程序设计》实验相关说明实验要求:1.明确实验课是课程的重要组成部分,与理论课有着同等地位,是培养自身的实验技能与创新能力的重要途径;2.在实验课前,对实验的目的、要求和基本内容,实验的重点和难点,应进行预习与讨论,确定实施措施,并编写好程序;3.了解实验室的规章制度和安全用电常识、实验设备损坏赔偿制度等,加强安全意识,爱惜实验设备;4.实验课期间不得擅自离开实验室或从事与本实验无关的活动,按时按质完成实验作业,培养创造性思维,努力提高自身的实践能力;5.每次实验应提交实验结果,指导老师将结合实验操作过程给予综合评分(对于有创造性的实验成果酌情给予加分),作为期末考试成绩的一部分。

实验须知:1.每次实验完成之后,学生须填写实验报告,并上交。

报告内容包括:实验目的、实验内容、实验步骤、思路分析或流程图、程序源代码、实验中未解决的问题、屏幕出错提示代码、出错原因、解决方法及实验心得等内容。

不交实验报告的学生,本次实验成绩为0分。

2.若有拷贝现象,程序代码雷同的学生实验成绩一律为0分。

3.每次实验任务必须在2-6节课内完成,并经过实验指导老师检查才能得分。

没能按时完成的同学,本次实验成绩为0分。

福建师范大学协和学院《JA V A程序设计》课程实验报告班级:______学号:_________________姓名:_____________成绩:教师签字:实验一简单输入/输出项目设计一、实验目的1、了解Java运行环境的安装与配置。

2、了解程序的基本结构,编辑、编译与运行方法。

3、掌握方法的调用、异常的处理。

二、实验环境(主要仪器设备和软件)1、操作系统Windows XP2、JA V A开发包JSDK1.63、代码编辑器Jcreart3.24、数据库管理系统MySQL5.05、数据库可视化管理平台CapVideo8.06、Web服务器TomCat5.07、JA V A开发工具MyEclipse7.08、微机三、实验内容1、Java开发包的下载与安装;2、环境变量的设置;3、安装配套开发软件;4、熟悉各类软件的使用;5、以下内容至少任选一项完成:选项一:编写一个应用程序绘制一个如下的操作菜单。

Java数据流

Java数据流

构造映射到ASCII码的标准的InputStreamReader的方法如下 ir = new InputStreamReader(System.in,"8859_1");
1.3.2缓冲区读者和写者
BufferedReader和BufferedWriter,
构造方法与BufferedInputStream,BufferedOutputStream相 类似
流的不同层次
输入数据流将数据从数据源传递给程序,
可以从键盘或者文件中获得数据。输入流 只能读不能写。 输出数据流经数据从程序送到数据接收者, 如可以向显示器屏幕或文件传输数据。输 出流只能写不能读 。
流的不同层次
抽象类
子类
FileInputStream BufferInputStream FileOutputStream InputStreamReader InputStreamWriter BufferWriter BufferOutputStream BufferReader
1.2Java标准输入与输出
System的字段属性
System的字段都是静态变量 System.变量名
1.2Java标准输入与输出
System的方法
System的方法都是静态方法 System.方法名
1.2Java标准输入与输出
任务1:从键盘输入字符,在屏幕上显示数据。
1.1.3输入数据流
输入数据流是指只能读不能写的数据流,
用于向计算机内输入信息 java.io包中所有输入数据流都是由抽象类继 承InputStream,Reader而来 从数据流中读取数据时,必须有一个数据 源与该数据流相连
1.1.4输出数据流

Java_数据流解读

Java_数据流解读

缓冲区数据流
• 增加缓冲区流,减少访问硬盘的次数,提高效率
file1.txt
输入缓冲区
输入流
输出缓冲区
输出流
file2.txt
文件
文件流
缓冲区流
缓冲区数据流
• • • • • • • 缓冲区流: BufferedInputStream和 BufferedOutputStream 将它们与文件流相接 FileInputStream in=new FileInputStream(“file1.txt”); BufferedInputStream bin= new BufferedInputStream(in,256)
对象流
• 对象流:能够输入输出对象的流。 • 通过java.io包中ObjectInputStream和 ObjectOutputStream两个类实现的 • 写对象数据流 • 相应的类:ObjectInput • 对象的输出: ObjectOutputStream • 相应的方法:writeObject() • 读对象数据流 • 相应的类:ObjectOutput • 对象的输入:ObjectInputStream • 相应的方法:readObject()
输入数据流和输出数据流连起来 pis.connect(pos)或者 pos.connect(pis)
3
创建一个通信通道2
• 直接将输入流与输出流连接起来
PipedInputStream pis = new PipedInputStream(); PipedOutputStream pos = new PipedOutputStream(pis);
基本的I/O数据流
按照功能划分为两种基本的流:输入流和输出流 –输入流 : 只能从中读取数据,而不能向其写出 数据 – 输出流 : 只能向其写出数据,而不能从中读取 数据 –输入和输出流可以被连接到文件、网络套接字 或内存缓冲区。

(完整版)Java程序设计实验报告

(完整版)Java程序设计实验报告

Java 程序设计实验报告实验一实验题目:从键盘上读入10 个字符串存入数组 a 中,而后输出这10个字符串中最大字符串和最小字符串。

实验代码:public class StrPro {public static void main(String[] args) {String str[] =new String[5];System. out .println("Please input 10 strings :" );int i;String max,min;for (i=0;i<5;i++){System. out .print( "Please input the " +(i+1)+ " string:" );Scanner sc = new Scanner(System. in );str[i] = sc.nextLine();}max = str[0];min = str[0];for (i=0;i<str.length ;i++){if (pareTo(str[i])<0){max = str[i];}if (pareTo(str[i])>0){min = str[i];}}System. out .println( System. out .println( " 最大的字符串为: " +max); " 最小的字符串为: " +min);}}实验结果:实验心得领会:掌握了 java 的基本语法,数组的定义与使用,做这个实验要了解字符串数组的定义及字符串数组的输入方法,还有比较字符串数组的大小的调用方法等。

实验二实验题目:自定义一个矩形类( Rectangle ),包括的属性有:长( length ),宽(width ),包括的方法有:对于属性的 setter 和 getter 方法,即 setLength ,getLength ,setWidth ,getWidth ,计算矩形面积的方法(g etArea )。

java数据流操作

java数据流操作

事实上, 事实上,我们经常使用的是 派生自他们的子类。 派生自他们的子类。 java.io包的结构如图 包的结构如图11-1: 包的结构如图 :
三、 标准输入输出 类中有三个静态域System.in、 在System类中有三个静态域 类中有三个静态域 、 System.out和System.err。 和 。 可以在标准位置使用这三个系统流进行I/O操作 操作。 可以在标准位置使用这三个系统流进行 操作。 public static InputStream in 读取字符数据的标准输入流。 读取字符数据的标准输入流。 public static PrintStream out 显示或打印输出信息的标准输出流 public static PrintStream err 输出错误信息的标准错误流。 输出错误信息的标准错误流。
常用的构造函数如下: 常用的构造函数如下:
ByteArrayInputStream(byte[] buffer): 生成一个字节数组的 输入流,并指定一个字节数组buffer为此输入流的流缓冲区。 为此输入流的流缓冲区。 输入流,并指定一个字节数组 为此输入流的流缓冲区 ByteArrayOutputStream(): 生成一个字节数组的输出流,其 生成一个字节数组的输出流, 缓冲区的默认初始大小为32字节 若有需要, 字节, 缓冲区的默认初始大小为 字节,若有需要,缓冲区的大小 会随之增加。 会随之增加。 ByteArrayOutputStream(int size): 同上,但分配 同上,但分配size字节的初 字节的初 始大小给此缓冲区。 始大小给此缓冲区。 ByteArrayOutputStream的一些常用方法: 的一些常用方法: 的一些常用方法 int size() : 返回此流缓冲区的大小。 返回此流缓冲区的大小。 byte[] toByteArray() : 生成一个新的字节数组,并将流的内 生成一个新的字节数组, 容复制到此字节数组。 容复制到此字节数组。 String toString() : 将流的内容转换为 将流的内容转换为String对象。 对象。 对象 下面程序读入文件data.in,将其内容写入内存中(一个字节数 将其内容写入内存中( 下面程序读入文件 将其内容写入内存中 ),接着转换为 接着转换为String对象,并将该 对象, 组),接着转换为 对象 并将该String对象内的令牌 对象内的令牌 解析出来。 解析出来。

java数据流

java数据流



FileOutputStream(String name) FileOutputStream(File file)
第9章
本章导读 1、文件 2、文件字节流 3、文件字符流 4、从键盘读取数据 5、缓冲流 6、数组流
输入、输出流
本章导读 7、字符串流 8、数据流 9、管道流
10、序列化与对象克隆
11、随机读写流 12、文件锁

当程序需要读取磁盘上的数据或将程序中得到数据存储 到磁盘时,就可以使用输入输出流,简称I/O流 所谓“流”(Stream)代表任何有能力产出数据的数据源, 或是有能力接收数据的接收端 I/O流提供一条通道程序,可以使用这条通道读取“源” 中的数据,或把数据送到“目的地”


列出目录下指定类型的文件时,可以使用File类的 下述两个方法:

public String[ ] list(FilenameFilter obj)

该方法用字符串形式返回目录下的指定类型的 所有文件 该方法用File对象返回目录下的指定类型所有 文件

public File [ ] listFiles(FilenameFilter obj)

2、FileOutputStream类

与FileInputStream类相对应的类是FileOutputStream 类 FileOutputStream类是OutputStream的子类,称为文 件字节输出流;文件字节输出流按字节将数据写入到文 件中 FileOutputStream类的构造方法:



1、文件的属性 public String getName() 获取文件的名字 public boolean canRead() 判断文件是否是可读的 public boolean canWrite()判断文件是否可被写入 public boolean exits()判断文件是否存在 public long length() 获取文件的长度(单位是字节) public String getAbsolutePath() 获取文件的绝对路径 public String getParent() 获取文件的父目录 public boolean isFile() 判断文件是否是一个正常文 件,而不是目录 public boolean isDirectroy() 判断文件是否是一个目录 public boolean isHidden() 判断文件是否隐藏文件 public long lastModified() 获取文件最后修改的时间 (时间是从1970年午夜至文件最后修改时刻的毫秒数)

01-Java IO及数据流程序设计

01-Java IO及数据流程序设计

数据流
应用程序
输 入 模式
应用程序
输 出 模式
2. 流
• 流(stream)是一组有序的数据序列。根 据操作的类型,分为输入流和输出流两种。 输入流的指向称为源,程序从指向源的输 入流中读取数据。
二、byte流类和char流类
• InputStream类和OutputStream类 • Reader类和Writer类
谢谢
1.应用实例:以字节流的方式从控制台获取信息
2.应用实例:以字节流的方式向控制台输出信息
3.应用实例:以字符流的方式从控制台获取信息
4.应用实例:以字符流的方式向控制台输出信息
三、常用的I/ห้องสมุดไป่ตู้处理方式
• 文件类 • 对象序列化
1.文件类
File类是一个与流无关的类。File类的对象可以获取文件 及其文件所在的目录、文件的长度等信息。创建一个File 对象的常用构造方法有3种: 1. File(String pathname) 2. File(String path,String filename) 3. File(File file,String filename) 应用实例:用File获取文件信息
第9章 Java I/O及数据流程序设计
主要内容
& Java的I/O处理方式 & byte流类和char流类 & 常用的I/O处理方式 & 文件及文件夹操作
一、Java的I/O处理方式
• I/O的基本模式 • 流
1. I/O的基本模式
文件 网络 压缩包 其他数据源
数据流
文件 网络 压缩包 其他数据源
2.对象序列化
l 使用对象输入输出流实现对象序列化可以直接 存取对象。

章Java数据流

章Java数据流
FileOutputStream ByteArrayOutputStream
PipedOutputStream FilterOutputStream
BufferedInputStream LineNumberInputStream
DataInputStream PushbackInputStream
• InputStream为所有的字节输入流的父类,因 此所有源于它的类也会继承下列的方法:
• int read():读入一个字节的数据,如果已达到文 件的末端,返回值为-1。
• int read(byte[] buffer):读出buffer大小的数据, 返回值为实际所读出的字节。
• int read(byte[] buffer,int offset,int len):将读出 的数据从buffer[offset]开始,写入len个字节至 buffer中,返回值为实际所读出的字节数目。
• 一、 流的概述 • Java使用流(stream)来执行输入输出(I/O)
的功能,流是一种数据的源头和目的之 间的通信途径。 • 用于读入数据称为输入流(input stream) , • 用于写出数据称为输出流(output stream) 。
当使用流时需要使用java.io包,因此在涉及数 据流操作的程序中都要先导入java.io包: import java.io.*;
入流。 • void write(byte[],int offset int len):从
buffer[offset]开始,写入len个字节的数据。 • void flush():强制将buffer内的数据写入流。 • void close():关闭流。
2020/12/13
• (二)、InputStream
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《Java程序设计》实验十一
Java的数据流(一)
学号:___________________ 姓名:____________________
实验目的:
1,熟悉Java有关数据流的常用类及其类层次关系
2,掌握Java的文件输入输出流的编程
3,掌握Java图形界面中事件响应机制编程
实验内容和步骤:
1,打开一个文本文件,每次读取一行内容。

将每行作为一个String读入,并将那个String 对象置入一个Vector里。

按相反的顺序打印出Vector中的所有行。

2,在第1步的程序中,使读取那个文件的名字作为一个命令行参数提供。

3,在第2步的程序中,又打开一个文本文件,以便将文字写入其中。

将Vector 中的行随同行号一起写入文件。

4,在第2步的程序中,在文件中查找指定的单词。

打印出包含了欲找单词的所有文本行。

作业和思考题:"
(完成上述编程联系,并回答以下问题,请将本文件作为实验报告,上传到教师指定目录。

为防止上传文件重名而覆盖,建议命名为“学号+姓名.doc”)
1,查阅JDK API文档,举出几个字节流的类和几个字符流的类。

2,对象的序列化涉及哪些类,举例说明对象序列化的应用场合。

相关文档
最新文档