实验七 Java类库和输入输出系统
- 格式:doc
- 大小:47.50 KB
- 文档页数:3
成都大学实验报告实验项目名称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数据类型与基本输入输出的心得体会,希望对读者有所帮助。
二、Java的数据类型1. 基本数据类型在Java中,基本数据类型包括整型、浮点型、字符型和布尔型。
我们需要了解它们的取值范围和存储空间大小,以便在编程中选择合适的数据类型。
2. 引用数据类型除了基本数据类型外,Java还有引用数据类型,如类、接口、数组等。
在使用引用数据类型时,我们需要注意其初始化和内存管理方法,以避免出现内存泄漏等问题。
三、基本输入输出1. Java标准输入输出在Java中,我们通常使用System.in和System.out进行标准输入输出。
对于各种数据类型的输入输出,我们需要熟练掌握Java提供的Scanner和PrintStream等类的使用方法。
2. 文件输入输出除了标准输入输出外,Java还支持文件输入输出。
在处理文件输入输出时,我们需要注意文件路径、文件流的打开和关闭以及异常处理等问题。
3. 网络输入输出随着网络应用的广泛应用,Java也提供了丰富的网络输入输出方式,如Socket编程、URL编程等。
我们需要了解这些网络输入输出方式的原理和使用方法,以便在实际项目中进行网络数据传输。
四、心得体会1. 数据类型与性能在选择数据类型时,我们需要综合考虑数据范围、存储空间和性能等因素。
合理选择数据类型可以提高程序的执行效率,而不恰当的数据类型可能导致性能下降。
2. 输入输出与异常处理在进行输入输出操作时,我们需要注意异常处理机制。
对于不同的输入输出方式,我们需要针对性地处理可能出现的异常,以确保程序的稳定运行。
3. 输入输出与安全性在处理用户输入和文件读写时,我们需要考虑安全性问题。
在使用Scanner进行用户输入时,需要注意对输入进行校验和过滤,以防止恶意输入导致的安全漏洞。
实验报告2013学年第 1 学期任课老师:课程名称Java语言与系统设计班级学号姓名实验名称实验三输入和输出实验时间实验环境PC/windows2000/2003/XP/Jcreator Pro/JBuild/JDK Eclipse/。
实验目的和内容要求实验3输入和输出1.实验目的了解流式输入输出的基本原理;掌握类File、FileInputStream、FileOutputStream的使用方法。
2.实验内容(1)编程:检查C:\WINDOWS\setuplog.txt文件是否存在,若在则显示该文件的名称和内容。
(2)编程:输入5个学生的信息(包含学号、姓名、3科成绩),统计各学生的总分,然后将学生信息和统计结果存入二进制数据文件STUDENT.DAT中。
(3)编程:从第(2)题中建立的STUDENT.DAT文件中读取数据,寻找平均分最高的学生,并输出该学生的所有信息。
3.实验要求编程时,应考虑异常处理。
实验过程记录(学生写出实验步骤及中间的结果与现象,在实验中做了什么,怎么做,发生的现象和中间结果)1.先分析题意,想好大概思路,然后按照功能划分建立几个类。
2.第一个建立的类,命名为Check用于判断该目录下文件夹是否存在,存在则输出该文件的内容,否则返回false。
3.第二个建立的Student类,成员变量主要有姓名、学号、语文成绩、数学成绩、英语成绩,以及总分,构造与此相关的set和get方法,与重载的构造方法来赋值。
4.第三个建立的是StudentInfo类,用于输入学生信息,并将其存储于STUDENT.DAT文件中,然后读取其中内容,判断后把总分最高的学生信息输出。
5.实验思路分析完成后实验进行并不顺利,经常丢三落四,找同学帮忙抓bug才勉强完成,但最后在自己电脑上完成时却一直没有像别人一样输出文件名称和内容,最后才发现是自己的电脑中没有那个文件。
实验结果分析与总结程序运行结果(请提供所完成的各道题运行结果界面截图):(1)(制作了一个相应文件后检测到的截图)(2)指导老师评阅意见指导老师:年月日填写内容时,可把表格扩大。
实验报告课程名称: Java语言程序设计姓名:学号:班级:数学与计算机科学学院数学与计算机科学学院实验报告实验名称:输入与输出指导教师:日期:}private static void writeFile() throws Exception{String s;while(true){System.out.println("输入字符串:");System.out.flush();s=keyread.readLine();if(s.length()==0) break;bwrite.write(s);bwrite.newLine();}}public static void main(String args[]) throws Exception{String filename="E:\\project_java\\src\\file";file=new File(filename);if(!file.exists()){System.out.println("文件不存在");return;}fwrite=new FileWriter(file);bwrite=new BufferedWriter(fwrite);keyread=new BufferedReader(new InputStreamReader(System.in));writeFile();keyread.close();bwrite.close();fread=new FileReader(file);bread=new BufferedReader(fread);readFile();bread.close();}}第2题代码:import java.io.*;public class MyFile{public static void main(String args[]) throws IOException {String filename="E:\\project_java\\src\\file";File file=new File(filename);if(!file.exists()){System.out.println("文件不存在");return;}FileReader fread=new FileReader(file);BufferedReader bread=new BufferedReader(fread);String s=bread.readLine();while(s!=null) {System.out.println(s);s=bread.readLine();}fread.close();System.out.println("文件路径:"+file.getAbsolutePath());System.out.println("修改时间:"+stModified());System.out.println("文件长度:"+file.length());System.out.println("文件可读:"+file.canRead());System.out.println("文件可写:"+file.canWrite());}}实验结果第1题:第2题:。
java输入输出流实验报告总结】Java输入输出流实验报告总结在本次实验中,我们学习了Java的输入输出流的概念和用法。
输入输出流是Java中用于处理输入和输出操作的工具。
通过输入流,我们可以将外部数据输入到程序中进行处理,通过输出流,我们可以将程序中的数据输出到外部文件或设备上。
在本次实验中,我们通过几个具体的示例来探索输入输出流的不同用法和特性,以期更好地理解和掌握它们的使用。
首先,我们学习了如何使用FileInputStream和FileOutputStream这两个类来进行字节流的输入和输出操作。
这两个类分别用于从指定文件中读取字节数据和将字节数据写入到指定文件中。
通过这两个类,我们可以实现文件的拷贝、移动、创建等功能。
同时,我们还了解了如何使用BufferedInputStream和BufferedOutputStream这两个类来提高读写效率。
这两个类可以通过缓存数据来减少对底层系统的IO操作次数,从而提高读写速度。
接下来,我们学习了如何使用FileReader和FileWriter这两个类进行字符流的输入和输出操作。
这两个类与字节流的输入输出类似,但它们处理的是字符数据。
通过这两个类,我们可以读取和写入文本文件中的字符数据。
我们还了解了字符编码和字符集的概念,并学习了如何使用InputStreamReader和OutputStreamWriter来进行字符流和字节流之间的转换。
除了字节流和字符流,我们还学习了对象流的使用。
对象流可以将Java 对象直接写入到文件中,也可以从文件中读取Java对象。
这在处理一些复杂的对象数据时非常有用。
我们通过使用ObjectInputStream和ObjectOutputStream这两个类,实现了对象的读写操作。
需要注意的是,被写入和读取的对象必须实现Serializable接口,否则会抛出NotSerializableException异常。
在实验过程中,我们还探索了如何使用标准输入输出流。