JAVA输入输出流
甘肃政法学院
本科生实验报告
(Java输入/输出流)
甘肃政法学院实验管理中心印制
实验9 Java输入输出流
山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 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(){ } }
JAVA输入输出流--字节流篇(什么时候用哪个)
1流的概念 stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样,如下图: 在Java的IO中,所有的stream(包括Inputstream和Out stream)都包括两种类型: (1)字节流 表示以字节为单位从stream中读取或往stream中写入信息,即io包中的inputstream类和outputstream类的派生类。通常用来读取二进制数据,如图象和声音。 (2)字符流 以Unicode字符为导向的stream,表示以Unicode字符为单位从stream中读取或往stream中写入信息。 区别: Reader和Writer要解决的,最主要的问题就是国际化。原先的I/O类库只支持8位的字节流,因此不可能很好地处理16位的Unicode字符流。Unicode是国际化的字符集(更何况Java内置的char就是16位的Unicode 字符),这样加了Reader和Writer之后,所有的I/O就都支持Unicode了。此外新类库的性能也比旧的好。 但是,Read和Write并不是取代InputStream和OutputStream,有时,你还必须同时使用"基于byte的类"和"基于字符的类"。为此,它还提供了两个"适配器(adapter)"类。InputStreamReader负责将InputStream转化成Reader,而OutputStreamWriter则将OutputStream转化成Writer。实际上是通过byte[]和String来关联。在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的。 以字符为导向的stream基本上对有与之相对应的以字节为导向的stream。两个对应类实现的功能相同,只是在操作时的导向不同。
实验04 Java输入输出流报告
实验四 Java 输入输出流 1.实验目的 (1) 掌握输入输出流的总体结构; (2) 掌握流的概念; (3) 了解各种流(包括文件流、过滤流、对象的序列化、随机访问)的使用。2.实验内容 实验题1 编写一个Java Application程序,打印命令行输入的所有参数。 [基本要求] 编写完整程序。 运行结果: 代码如下: import java.util.Scanner; public class CommandOutPut { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please input :"); Scanner in = new Scanner(System.in);
String str = in.nextLine(); System.out.println("The output results :"); System.out.println(str); in.close(); } } 实验题2 通过键盘输入路径,搜索指定路径下的全部内容。 运行结果: 代码如下: package https://www.360docs.net/doc/611778829.html,.output; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class Output { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String fileName = "d:\\xxx.txt"; File file = new File(fileName); byte[] b=new byte[(int)file.length()]; FileInputStream out=new FileInputStream(file);
Java多线程和输入输出流
班级:13科技2班学号:201324131225 姓名:许耿宁 Java多线程和输入输出流 一、实验目的: 1.熟悉利用Thread类建立多线程方法。 2.熟悉利用Thread接口建立多线程方法。 3.熟悉Java的文件读写机制,练习输入输出流的使用。 二、实验内容: 1.阅读下列程序,分析并上机检验其功能。 public class DelayRunnable implements Runnable{ private static int count=0; private int no; private int delay; public DelayRunnable(){ count++; no=count; } public void run(){ try{ for (int i=0;i<10;i++){ delay=(int)(Math.random()*5000); Thread.sleep(delay); System.out.println("Thread "+no+" with a delay "+delay); } }catch(InterruptedException e){} } } class MyRunnable{ public static void main(String args[]){ DelayRunnable r1 = new DelayRunnable();
DelayRunnable r2 = new DelayRunnable(); Thread thread1=new Thread(r1); Thread thread2=new Thread(r2); thread1.start(); thread2.start(); try{ Thread.sleep(1000); }catch(InterruptedException e){ System.out.println("Thread wrong"); } } } 2.将上列程序利用Runnable接口改写,并上机检验。 3.创建简单的程序ThreeThread.java,该程序将创建三个线程,每个线程应当显示它所运行的时间(可以考虑使用Date类或Calendar类)。 4.键盘输入10个整数,从小到大进行排序。 5.接收键盘输入的字符串,用FileInputStream类将字符串写入文件,用 FileOutputStream类读出文件内容显示在屏幕上。 6.将一个文本文件的内容按行读出,每读出一行就顺序加上行号,并写入到另一个文件中。 三、实验要求: 1.通过实验掌握Thread 、Runnable使用方法; 2.程序必须能够实现多线程; 3.程序必须能够完成题目要求; 4.通过实验掌握文件输入输出流的使用方法; 5.程序必须能够从键盘接收字符串并保存在文件中; 6.程序必须能够读出文件内容显示在屏幕上; 7.写出实验报告。 四、实验代码及截图: 第一题: 在编译器上运行程序得到截图所示结果:
实验9 Java输入输出流
▇▆大学计算机与信息技术学院 实验报告 姓名□□□学号▅▅▅▅专业班级▅▅ 课程名称 Java实验实验日期???? 成绩指导教师▇▇██批改日期实验名称实验9 Java的输入输出流 ●实验目的 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写、二进制文件读写 ●实验内容 1. 分别使用FileWriter 和BufferedWriter 往文件中写入1万个随机数,比较用时的多少?(用时采用方法System.currentTimeMillis())求时间差; 使用:FileWriter 程序源代码 import java.io.*; public class TestFileWriter { public static void main(String []args) throws IOException{ File f = new File("C:/java/tem.txt"); if (f.exists()){ System.out.printf("文件\"C:/java/tem.txt\"已存在"); System.exit(0); } FileWriter fileWriter = new FileWriter(f); long time = System.currentTimeMillis(); for(int i=0;i<10000;i++) fileWriter.write((int)(Math.random()*101)); fileWriter.close(); time = System.currentTimeMillis() - time; System.out.printf("使用FileWriter耗时:"+time+"毫秒"); } } 程序运行结果贴图 使用:BufferedWriter 程序源代码 import java.io.*; public class TestBufferedWriter { public static void main(String []args) throws IOException{ File f = new File("C:/java/tem2.txt");
java输入输出流和文件操作
Java IO流和文件操作Java流操作有关的类或接口: Java流类图结构:
1、File类 File类是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹。 File类保存文件或目录的各种元数据信息,包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名,判断指定文件是否存在、获得当前目录中的文件列表,创建、删除文件和目录等方法。 构造方法摘要 File(File parent, String child) File(String pathname) File(String parent, String child) 构造函数 创建方法 1.boolean createNewFile() 不存在返回true 存在返回false 2.boolean mkdir() 创建目录 3.boolean mkdirs() 创建多级目录 删除方法 1.boolean delete() 2.boolean deleteOnExit() 文件使用完成后删除 例子1:列出指定文件夹的文件或文件夹 public class FileDemo1 { public static void main(String[] args){ File[] files =File.listRoots(); for(File file:files){
System.out.println(file); if(file.length()>0){ String[] filenames =file.list(); for(String filename:filenames){ System.out.println(filename); } } } } } 例子2:文件过滤 import java.io.File; public class FileTest2 { public static void main(String[] args) { File file = new File("file"); String[] names = file.list(); for(String name : names) { if(name.endsWith(".java")) { System.out.println(name); }
Java输入输出流经典编程题
软件091班java程序机试题 编程题: 0. 求两点之间的距离。 要求: 1)设计点类,属性为点的坐标;利用点类设计距离类。 2)两点的坐标通过键盘输入,键盘输入要运用流,输入数据时要有合理的提示信息, 输出信息表达明确。 1.实现如下界面功能的图形界面应用程序(字体设置)。 2.编写程序,通过键盘输入多行信息,直接输入一个文本文件中。 要求:键盘输入的信息要使用流。 3.求5个以上学生的Java平均成绩。 要求: 1)要利用对象数组生成对象 2)信息通过键盘输入(利用流)。 3)Java成绩的范围在0-分100分,若输错,则需要重新输入。 4.设计一个包含两个命令按钮(显示文字和显示图片)的界面。 要求: 1)当单击“显示文字”命令按钮后,命令按钮变为“文字消失”,同时显示一行“单 击了命令按钮!”的文字。单击“文字消失”命令按钮后,命令按钮又变为“显 示文字”命令按钮,同时文字“单击了命令按钮!”消失。如此可以反复。 2)当单击“显示图片”命令按钮后,命令按钮变为“图片消失”,同时显示任意一 幅图片。单击“图片消失”命令按钮后,命令按钮又变为“显示图片”命令按钮, 同时图片消失。如此可以反复。 5.求5个以上人的平均年龄。 要求: 1)要利用对象数组生成对象 2)信息通过键盘输入(利用流)。 3)人年龄的范围在0岁-120岁,若输错,则需要重新输入。 6.打开Login1.Java源程序,题目要求见源程序的注释部分。 7.分别利用接口和抽象类,求给定三个以上三角形和给定三个以上矩形的平均周长。 提示:应该产生两个源程序。 要求: 1)要利用对象数组生成对象。 2)信息通过键盘输入(利用流)。 3)输入的三角形的三条边要能构成三角形,否则需要重新输入。
java输入输出流总结
一、数据流的基本概念 流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。 java的标准数据流:标准输入输出指在字符方式下(如DOS),程序与系统进行交互的方式,分为三种: 标准输入studin,对象是键盘。 标准输出stdout,对象是屏幕。 标准错误输出stderr,对象也是屏幕。 二、java.io包中的数据流和文件类 字节流:从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。 InputStream、OutputStream FileInputStream、FileOutputStream PipedInputStream、PipedOutputStream ByteArrayInputStream、ByteArrayOutputStream FilterInputStream、FilterOutputStream DataInputStream、DataOutputStream BufferedInputStream、BufferedOutputStream 字符流:从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位。 Reader、Writer InputStreamReader、OutputStreamWriter FileReader、FileWriter CharArrayReader、CharArrayWriter PipedReader、PipedWriter FilterReader、FilterWriter BufferedReader、BufferedWriter StringReader、StringWriter 三、字节流方法 InputStream 和OutputStream read():从流中读入数据 skip():跳过流中若干字节数 available():返回流中可用字节数 mark():在流中标记一个位置 reset():返回标记过得位置 markSupport():是否支持标记和复位操作 close():关闭流 int read() :从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。 int read(byte b[]) :读多个字节到数组中。 int read(byte b[], int off, int len):从输入流中读取长度为len的数据,写入数组b中从索引of f开始的位置,并返回读取得字节数。 write(int b) :将一个整数输出到流中(只输出低位字节,抽象) write(byte b[]) :将字节数组中的数据输出到流中 write(byte b[], int off, int len) :将数组b中从off指定的位置开始,长度为len的数据输出到流
《Java面向对象程序设计》实验-实验八(输入输出流)
广西科技大学 计通学院 《Java面向对象程序设计》实验实验八输入输出流 学生姓名:××× 学号:××× 班级:××× 指导老师:××× 专业:计算机科学与技术 提交日期:×××年××月××日 实验报告内容
1.实验目的 掌握字符输入、输出流用法; 掌握使用Scanner类解析文件; 掌握Console流的使用。 2.实验内容 实验教材-第12章实验1、2、3 字符输入输出流;Scanner类和Console类。 要求:完善程序,给出实验结果截图; 完成试验后练习。 3.程序代码及运行结果: 实验1 举重成绩单 //AnalysisResult.java import java.io.*; import java.util.*; public class AnalysisResult { public static void main(String[] args) { File fRead=new File("score.txt"); File fWrite=new File("scoreAnalysis.txt"); try{ Writer out=new FileWriter(fWrite); BufferedWriter bufferWrite=new BufferedWriter(out); Reader in=new FileReader(fRead); BufferedReader bufferRead=new BufferedReader(in); String str=null; while((str=bufferRead.readLine())!=null){ double
java实验11 输入输出流 - 答案
实验输入输出流 一、实验目的 1、掌握文件字节流的用法; 2、掌握文件字符流的用法; 3、掌握缓冲流的用法; 二、实验内容与步骤 1、编写程序,实现将诗句写入c:\小池.txt文件中,然后再从该文件中读出并打印输出。宋诗《小池》 作者:杨万里 泉眼无声惜细流, 树荫照水弄轻柔。 小荷才露尖尖角, 早有蜻蜓立上头。 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class PoemWrite { public static void main(String[] args) { Scanner reader=new Scanner(System.in); String s; try{ FileWriter outOne=new FileWriter("c:\\小池.txt"); BufferedWriter outTwo=new BufferedWriter(outOne); while(!(s=reader.nextLine()).equals("0")){ outTwo.write(s); outTwo.newLine(); } outTwo.flush(); outTwo.close(); outOne.close(); FileReader inOne=new FileReader("c:\\小池.txt"); BufferedReader inTwo=new BufferedReader(inOne); while((s=inTwo.readLine())!=null){
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"));
java输入输出流试验
输入输出流 一、实验目的: 熟悉Java的文件读写机制,练习输入输出流的使用。 二、实验内容: 1、键盘输入10个整数,从小到大进行排序。 2、接收键盘输入的字符串,用FileInputStream类将字符串写入文件,用 FileOutputStream类读出文件内容显示在屏幕上。 3、将一个文本文件的内容按行读出,每读出一行就顺序加上行号,并写入 到另一个文件中。 三、实验要求: 1. 通过实验掌握文件输入输出流的使用方法; 2. 程序必须能够从键盘接收字符串并保存在文件中; 3. 程序必须能够读出文件内容显示在屏幕上; 4. 写出实验报告。 四、实验步骤: 1、键盘输入10个整数,从小到大进行排序。 package javaTest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Gui_21 { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String str; int array[]=new int[10]; for(int i=0;i<10;i++) { System.out.println("请输入一个整数:"); str=br.readLine(); array[i]=Integer.parseInt(str);
servlet中的输入输出流
分类:Java JSP和Servlet中的输入输出流 2008-05-27 20:00 一、servlet response实现了HttpServletResponse接口,request实现了HttpServletRequest接口。 1、输出流有两个: 字节形式输出:response.getOutputStream() 字符形式输出:response.getWriter() 2、输入流有两个: 字节形式输入:request.getInputStream() 字符形式输入:request.getReader() 二、JSP JSP中的response对象已经实现了HttpServletResponse接口,request对象已经实现了HttpServletRequest接口。 1、输出流 jsp中可以使用response.getWriter()方法建立字符输出流来输出字符数据到网页上。 因为jsp转译成servlet时,当有输出就会使用getWriter(). 它是javax.servlet.jsp.JspWriter类型(extends java.io.Writer). 而getOutputStream(). 它是javax.servlet.ServletOutputStream类型(extends java.io.OutputStream). 而对客户端的输出只能使用一种类别输出. 当它在jsp里使用了getOutputStream(). 就会产生了两种类别输出,所以就会形成冲突.program根本不知道你要使用那一个作为输出. 一般在下载档案时都要使用getOutputStream().对客户端串流输出. 使用jsp作为下载档案时, 在jsp档案里,不能有任何的输出. 包括空格或out.println("xxx"); 因为会使用了jspWriter(). 2、输入流 jsp中好像没有自动实现输入流的对象,所以可以使用request.getInputStream(),request.getReader()方法建立输入流。 3、读写服务器上的文件 file.Reader()和file.Writer()方法可以用来读写服务器上任何位置的文件。
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++){
java实验七 输入输出流
实验七输入输出流 一.实验目的和要求 目的: 1、掌握使用输入输出流进行文件的读写操作。 要求: 1、实验报告给出内容1,2的填充代码以及内容3的全部源代码。 二.实验内容 1、按程序模板要求,将注释处替换为Java程序代码。实现文件加密。 2、按程序模板要求,将注释处替换为Java程序代码。给文件的内容添加行号. 3、串行化对象Student到本地文件,并在下一次运行程序时用来初始化。(选做)三.实验环境 硬件: (1)学生用微机 (2)多媒体实验教室 软件: (1)Windows XP中文操作系统 (2)JDK控制台 四.算法描述及实验步骤 实验步骤: 1、按程序模板要求,将注释处替换为Java程序代码 该程序将已存在的文本文件加密后存入另一个文本文件中。请按模板要求,将【代码1】~【代码6】替换为Java程序代码 SecretExample.java import java.io.*; public class SecretExample { public static void main(String args[ ]) { File fileOne=new File("hello.txt"), fileTwo=new File("hello.secret"); char b[]=new char[100]; try{ FileReader in=【代码1】 // 创建指向fileOne的字符输入流 FileWriter out=【代码2】 // 创建指向fileTwo字符输出流 int n=-1; while((n=in.read(b))!=-1) {
for(int i=0;i 5Java输入流与输出流 5.1单项选择题 1.实现字符流的写操作类是()。 A.FileReader B.Writer C.FileInputStream D.FileOutputStream 2. 实现字符流的读操作类是()。 A.FileReader B.Writer C.FileInputStream D.FileOutputStream 3.凡是从中央处理器流向外部设备的数据流称为() A. 文件流 B. 字符流 C. 输入流 D. 输出流 4.构造BufferedInputStream的合适参数是哪一个?()A.FileInputStream B.BufferedOutputStream C.File D.FileOuterStream 5.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。 A.import java.awt.* ; B.import java.applet.Applet ; C.import java.io.* ; D.import java.awt.Graphics ; 6.下列流中哪个不属于字符流?()A.InputStreamReader B.BufferedReader C.FilterReader D.FileInputStream 7.流的传递方式是() A. 并行的 B. 串行的 C. 并行和串行 D. 以上都不对 8.字符流与字节流的区别在于() A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同 9.下列流中哪个不属于字节流() A.FileInputStream B.BufferedInputStream C. FilterInputStream D. InputStreamReader 10.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()5Java第五单元练习题-输入流与输出流