实验9 Java输入输出流

合集下载

JAVA第9章 输入输出课件

JAVA第9章 输入输出课件

9.2.5 小文件的读写
• Files类提供了从一个较小的二进制文件和文 本文件读取和写入的方法。readAllBytes() 方法和readAllLines()方法分别是从二进制 文件和文本文件读取。这些方法可以自动打 开和关闭流,但不能处理大文件。
9.2.5 小文件的读写
• public static byte[] readAllBytes(Path path):从指定的二进制文件中读取所有字 节。
9.2 Files类操作
• java.nio.类是一个功能非常强大的类。 • 该类定义了大量的静态方法用来读、写和
操纵文件和目录。Files类主要操作Path对 象。
9.2.1 创建和删除目录和文件
• public static Path createDirectory(Path dir, <?>…attrs)
= ();
1. 类
• Path getPath(String first, String …more) • String getSeparator() • Iterable<Path> getRootDirectores() • boolean isOpen() • boolean isReadOnly()
• static Path setOwner(Path path, UserPrincipal) :设置指定文件的所有者。
9.2.2 文件属性操作
• 下面程序演示了Files类几个方法的使用。 • 程序9.1
R u n
9.2.3 文件和目录的复制与移动
• 使用Files类的copy()方法可以复制文件和 目录,使用move()方法可以移动目录和文 件。copy()方法的一般格式为: public static Path copy( Path source, Path target, CopyOption…options)

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程序设计实验指导书(答案)

第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。

(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。

二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。

三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。

安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。

教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。

2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。

3.编写并编译、运行一个Java Application程序。

创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。

public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。

1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。

java输入输出语句例子

java输入输出语句例子

java输入输出语句例子Java语言中的输入输出语句是开发者经常使用的重要命令之一。

在本文中,我们将通过几个例子来展示Java中如何使用输入输出语句。

1. 导入Java中的I/O库在使用Java中的输入输出语句之前,我们需要先导入Java中的I/O库。

通过这个库,我们可以轻松地从键盘读取输入、从文件中读取输入和将输出写入文件。

在Java中,我们通常使用java.io包中的类来处理输入输出任务。

为了导入这个包,我们只需要在Java程序的开头添加以下代码:```import java.io.*```2. 使用Java中的输入输出语句一旦我们导入了Java中的I/O库,我们就可以开始使用Java中的输入输出语句了。

以下是几个例子:- 读取键盘输入并将其打印出来```import java.io.*public class InputOutputExample{public static void main(String args[]) throws IOException{BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));System.out.println("Enter your name: ");String name = inp.readLine();System.out.println("Hi " + name + ", nice to meet you!"); }}```在这个例子中,我们创建了一个BufferedReader对象,并使用它来读取来自键盘的输入。

我们使用System.in作为我们的输入源,并使用InputStreamReader将它们从字节流转换为字符流。

最后,我们使用BufferedReader的readLine()方法来读取用户输入。

《java输入输出》课件

《java输入输出》课件
System.out.format
通过格式化字符串将数据输出到控制台。
String.format
将数据格式化字符串并返回格式化结果。
异常处理
1
try -catch语句
通过添加try-catch语句来处理异常。
2
fin ally 语句
无论是否发生异常,finally语句块中的代码都会执行。
3
自定义异常
开发自定义异常来处理特殊情况。
字符输入输出
字符读取
使用Reader类读取字符信息。
字符写入
使用Writer类向文件中写入字符信息,可支持中文。
二进制输入输出
1 输入
使用BufferedInputStream类从二进制文件中读取信息。
2 输出
使用BufferedOutputStream类将信息写入二进制文件中。
格式化输入输出
控制台输出
使用System.out.print来在控制台输出信息。
键盘输入
使用Scanner类从键盘获取用户输入的信息。
文件输入输出
1
文件读取
使用File类和Scanner类从文件中读取信息。
2
文件写入
使用FileWriter类和PrintWriter类信息写入文件中。
3
二进制文件读写
使用InputStream和OutputStream类读写二进制文件。
《java输入输出》PPT课件
本课程将教您如何处理各种输入输出并展示Java编程语言的强大功能。
输入输出概述
输入
从外部读取数据到计算机中,例如键盘输入。
处理
综合输入和输出,对外部数据做出处理。
输出
将数据从计算机输出到外部,例如屏幕输出。

[java入门学习]第 9 章 Java输入输出操作

[java入门学习]第 9 章 Java输入输出操作

第九章 Java输入输出操作9.1 Java 输入输出流所有的程序语言都提及与本机文件系统交互的方式;Java也不例外。

我们将看看Java 是怎样处理标准文件输入输出的(包括stdin,stout,stderr)。

当你在网络上开发小程序时,你必须注意直接文件输入输出是不安全因素的关键。

大多数用户设置他们的浏览器,可让你自由的访问他们的文件系统,但有的不让你访问。

当然,如果你开发你内部的应用程序,你也许需要直接访问文件。

标准输入输出Unix的用户,或其他基于命令行系统的用户(如DOS),都知道标准输入输出的含义。

标准输入文件是键盘,标准输出文件是你的终端屏幕。

标准错误输出文件也指向屏幕,如果有必要,它也可以指向另一个文件以便和正常输出区分。

系统类Java通过系统类达到访问标准输入输出的功能。

上面提到的三个文件在这个系统类中实现:Stdin System.in作为InputStream类的一个实例来实现stdin,你可以使用read()和skip(long n)两个成员函数。

read()让你从输入中读一个字节,skip(long n)让你在输入中跳过n个字节。

Stout System.out作为PrintStream来实现stdout,你可以使用print()和println()两个成员函数。

这两个函数支持Java的任意基本类型作为参数。

Stderr System.err同stdout一样实现stderr。

象System.out一样,你可以访问PrintStream 成员函数。

9.2 标准输入输出例子import java.io.* class myCat{public void main(String args[]) throws IOException{int b;int count = 0;while ((b = System.in.read()) != -1){count++;System.out.print((char)b);}System.out.println(); //blank line System.err.println("counted"+count+"total bytes.");}}9.3 普通输入输出类除了基本的键盘输入和屏幕输出外,我们还需要联系文件的输入输出。

java 标准输入输出流

java  标准输入输出流

java 标准输入输出流
计算机系统都有标准的输入设备和标准输出设备。

对一般系统而言,标准输入设备通常是键盘,而标准输出设备是屏幕。

Java程序经常需要从键盘上输入数据,从屏幕上输出数据,为此频繁创建输入/输出流对象将很不方便。

因此,Java语言事先定义好了两个对象,分别对系统的标准输入和标准输出相联系,如System.in和System.out,另外还定义了标准的System.err错误输出流。

System.in是标准输入流,是InputStream类的实例。

可以使用read()方法从键盘上读取字节,也可以将它包装成数据流读取各种类型的数据和字符串。

在使用System.in的read()方法时,由于read()方法在定义时抛出了IOException 异常,所以必须使用try-catch结构捕获异常或声明抛出异常;
System.out和System.err是标准输出流和标准错误输出流,是PrintStream类的实例。

如果从标准输入流键盘上输入基本数据类型,可以将标准输入流包装成具有缓
执行上述代码,结果如图12-12所示。

图12-12 System.in 标准输入流。

实验报告 Java输入、输出和异常处理

实验报告 Java输入、输出和异常处理

实验四Java输入、输出和异常处理一、实验目的1.了解I/O流的使用;2.掌握常见的输入/输出流类及其主要方法。

3.熟悉S y s t e m类,掌握标准输入/输出。

4.学会利用Tr y-c a t c h-f i n a l l y语句来捕获和处理异常;5.掌握自定义异常类的方法。

二、实验要求1.使用标准数据流的应用程序。

2.使用文件输入输出流的应用程序。

3.通过编程理解系统异常处理的机制和创建自定义异常的方法。

三、实验内容(一)使用标准数据流的应用程序标准数据流指在字符方式下(如D O S提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。

1.程序功能:将键盘上输入的字符在屏幕上显示出来。

2.编写S Y4_1.j a v a程序文件,源代码如下:c l a s s S Y4_1{p u b l i c s t a t i c v o i d m a i n(S t r i n g[]a rg s)t h r o w s j a v a.i o.I O E x c e p t i o n {b y t e b u ff e r[]=n e w b y t e[10];S y s t e m.o u t.p r i n t l n("从键盘输入不超过10个字符,按回车键结束输入:");i n t c o u n t=S y s t e m.i n.r e a d(b u f f e r);//读取输入的字符并存放在缓冲区b u ff e r中S y s t e m.o u t.p r i n t l n("保存在缓冲区b u ff e r中元素的个数为:"+c o u n t);S y s t e m.o u t.p r i n t l n("b u f f e r中各元素的值为:");f o r(i n t i=0;i<c o u n t;i++){S y s t e m.o u t.p r i n t(""+b u ff e r[i]);//在屏幕上显示b u ff e r 元素的值}S y s t e m.o u t.p r i n t l n();S y s t e m.o u t.p r i n t l n("输出b u ff e r字符元素:");S y s t e m.o u t.w r i t e(b u ff e r,0,b u f f e r.l e n g t h);}}3.编译、运行S Y4_1.j a v a文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

山西大学计算机与信息技术学院实验报告姓名学号专业班级课程名称 Java实验实验日期2013-12-4 成绩指导教师批改日期实验名称实验9 Java的输入输出流●实验目的1. 理解I/O流的概念,掌握其分类2. 掌握文本文件读写、二进制文件读写●实验内容1. 分别使用FileWriter 和BufferedWriter 往文件中写入1万个随机数,比较用时的多少?(用时采用方法System.currentTimeMillis())求时间差;使用:FileWriter程序源代码package a;import java.io.*;public class Filewriter {public Filewriter(String string){}public static void main(String[] args)throws IOException {long time =System.currentTimeMillis();Filewriter filewriter=new Filewriter("text");int num;for(int i=0;i<=10000;i++){num=(int)Math.random()*10000;filewriter.write(num+" ");}filewriter.close();time=System.currentTimeMillis()-time;System.out.println("使用Filewriter所用时间:"+time+"um");}private void write(String string){}private void close(){}}程序运行结果贴图使用:BufferedWriter程序源代码package a;public class Bufferwriter {public Bufferwriter(String string){}public static void main(String[] args) {long time=System.currentTimeMillis();Bufferwriter a=new Bufferwriter("a.txt");int num;for(int i=0;i<=10000;i++){num=(int)Math.random()*10000;a.write(num+" ");}a.close();time=System.currentTimeMillis()-time;System.out.println("使用Bufferwriter所用时间:"+time+"um"); }private void write(String string){}private void close(){}}程序运行结果贴图2.课本P547,19.2 :编写一个文件,如果文件Exercise 19_2.dat 不存在,就创建一个名为Exercise 19_2.txt的文件。

向这个文件追加新数据。

使用二进制I/O将100个随机生成的整数写入这个文件中。

程序源代码import java.io.*;public class Exe19_2 {public static void main(String[] args) throws IOException {DataOutputStream output=new DataOutputStream(new FileOutputStream("Exe19_2.dat",true));for(int i=0;i<100;i++){output.writeInt((int)(Math.random()*100));output.close();System.out.println("Done");}}程序运行结果贴图3.课本P547 19.3:(对二进制数据文件中的所有数据求和)假设已经使用DataOutputStream中的writeInt(int)创建一个名为Exercise 19_3.dat的二进制数据文件,文件包含数目不确定的整数,编写一个程序来计算这些整数的总和。

程序源代码package a;import java.io.*;public class Exe19_3 {public static void main(String[] args) throws IOException {System.out.println("准备写入。

");File file=new File("Exe19_3.dat");OutputStream write=new FileOutputStream(file);DataOutputStream dos=new DataOutputStream(write);int[] data={1,2,3,4,5};for(int i=0;i<data.length;i++){dos.writeInt(data[i]);}dos.close();System.out.println("写入结束。

");System.out.println("开始读取。

");InputStream input=new FileInputStream(file);DataInputStream filter=new DataInputStream(input);int result=0;while(true){try{result +=filter.readInt();}catch (Exception e){break;}}System.out.println("计算结果:"+result);System.out.println("读取结果。

");}}程序运行结果贴图4.在文本文件bigbook.txt中包含有很长篇幅的英语短文,编写程序要求统计文件的所有短文中包含英文字母“A”的个数,并显示统计的时间。

程序源代码package a;import java.io.*;public class count {public static void main(String[] args) throws IOException{long time=System.currentTimeMillis();String filename="G:\\bigbook.txt";FileInputStream f=new FileInputStream(filename);int count=0;int c;while((c=f.read()) !=-1){if(c=='A'){count++;}}f.close();System.out.println("bigbook.txt中A的个数:"+count);time=System.currentTimeMillis()-time;System.out.println("时间为:"+time);}}程序运行结果贴图5.编写一个Java应用程序,给当前的类所在的文件ReadExample.java添加行号拷贝到另一个文件temp.text。

先在G:存入要拷贝的文件Welcome.txt。

程序源代码package c;import java.io.*;public class ReadExample {public static void main(String[] args) throws IOException{ File file=new File("G:","Welcome.txt");File tempFile=new File("G:","temp.txt");FileReader inone=new FileReader(file);BufferedReader intwo=new BufferedReader(inone);FileWriter tofile=new FileWriter(tempFile);BufferedWriter out=new BufferedWriter(tofile);int i=0;String s=intwo.readLine();while(s!=null){i++;out.write(i+" "+s);out.newLine();s=intwo.readLine();}inone.close();intwo.close();out.flush();//清空输出流out.close();tofile.close();}}程序运行结果贴图执行完之后,在当前目录下产生一个temp.txt文件。

:打开后:P547 19.5(将对象和数组存储在文件中)编写一个程序,向一个名为Exercise19_5.dat的文件中存储一个含5个int值1,2,3,4,5的数组,存储一个表示当前时间的Date对象,存储一个double值5.5程序源代码package c;import java.io.*;public class Exe19_5 {public static void main(String[] args) throws IOException,ClassNotFoundException{int[] number={1,2,3,4,5};ObjectOutputStream output=new ObjectOutputStream(new FileOutputStream("Exe19_5.dat"));output.writeObject(number);output.writeDouble(5.5);output.writeObject(new java.util.Date());output.close();ObjectInputStream input=new ObjectInputStream(new FileInputStream("Exe19_5.dat"));System.out.println("存储的数组为:");int[] readNumber=(int[])(input.readObject());for(int i=0;i<readNumber.length;i++){System.out.print(readNumber[i]+" ");}double num=input.readDouble();java.util.Date date=(java.util.Date)(input.readObject());System.out.println("\ndouble型的数为:"+num+"\n"+"日期为:"+date);}}程序运行结果贴图P548 19.12(组合文件)编写一个工具程序,使它能够用下面的命令,将文件组合在一起构成一个新文件:java Exercise19_12 SourceFile1…SourceFilen TargetFile这个命令将 SourceFile1,…,SourceFilen合并为TargetFile。

相关文档
最新文档