JAVA IO流处理程序设计实验报告(附完整代码)

合集下载

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高级io流程序设计

实验六  JAVA高级io流程序设计

Java程序设计实验报告实验名称:实验六 JAVA高级I/O流程序设计班级:姓名:学号:实验地点:日期:一、实验目的:●掌握Java语言的输入/输出的处理方法。

●掌握Java语言的流的概念●掌握Java语言的文件的处理方法。

二、基本技能实验内容、要求和环境:1.编译并运行下面程序,熟悉并掌握把一个已存在的扩展名为.txt文本文件复制到另一个文本文件中的方法。

import java.io.*;public class Java8_1 {public static void main(String[] args) {try {File inFile = new File("file1.txt");File outFile = new File("file2.txt");FileInputStream fis = new FileInputStream(inFile);FileOutputStream fos = new FileOutputStream(outFile);int c;while ((c = fis.read()) != -1)fos.write(c);fis.close();fos.close();} catch (FileNotFoundException e) {System.out.println("FileStreamsTest: " + e);} catch (IOException e) {System.err.println("FileStreamsTest: " + e);}}}2. 读下面程序,假设从键盘输入abcd,分析输出结果。

(a的ASCII码值是97)import java.io.IOException;public class StdInput{public static void main(String[] args) throws IOException{System.out.println("intput:");byte b[] = new byte[512];int count = System.in.read(b);System.out.println("Output");for (int i=0;i<count;i++){System.out.print(b[i] + " ");}System.out.println();for (int i=0;i<count;i++){System.out.print((byte)b[i] + " ");}System.out.println("count=" + count);}}三、基本技能实验结果与分析:1、结果:在原文本file1.txt的内容成功复制出另一个文本file2.txt分析。

JAVA IO流处理程序设计实验报告(附完整代码)

JAVA IO流处理程序设计实验报告(附完整代码)

流处理程序设计一、课题内容和要求内容:设计和编写一个程序从键盘读入一行字符串,将其写入一个文本文件中,再编写另一个程序从文本文件中读入字符串并在命令行窗口显示出来。

要求:要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法。

二、设计思路分析Write.java:class Write: 将字符串从键盘输入到文件。

Read.java:class Read: 将字符串从文件输出到命令行窗口。

三、概要设计Write.java:public class Write{public static void main(String[] args);}Read.java:public class Read{public static void main(String[] args);}四、详细设计Write.java:import java.io.*;import java.util.Scanner;public class Write {public static void main(String[] args) {File file=new File("File.txt");System.out.print("输入一行字符串:\n");Scanner reader=new Scanner(System.in);//输入一行字符串String s=reader.nextLine();try {// 异常处理FileWriter toFlie=new FileWriter(file);//通过底层流写入文件BufferedWriter out=new BufferedWriter(toFlie);//通过缓冲流将字符串写入底层流out.write(s);out.close();toFlie.close();}catch(IOException e){System.out.println(e);}}}Read.java:import java.io.*;public class Read {public static void main(String[] args) {File file = new File("File.txt");try {// 异常处理FileReader fromFile = new FileReader(file);// 通过底层流读取文件BufferedReader in = new BufferedReader(fromFile);// 通过缓冲流从底层流读取字符串System.out.print("文件内容:\n");String s = in.readLine();// 输出一行字符串System.out.print(s);in.close();fromFile.close();} catch (IOException e) {System.out.println(e);}}}五、测试数据及其结果分析1正常输入:2文件内容变为:3输出:4结果:输出正常。

Java课程设计实验报告及全部源码流程图

Java课程设计实验报告及全部源码流程图

课程设计一、实验目的1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。

2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。

二、实验要求1.问题描述准确、规范。

2.程序结构合理,调试数据准确、有代表性.。

3.界面布局整齐,人机交互方便。

4.输出结果正确。

5.正确撰写实验报告。

三、实验内容编写一个GUI程序实现日历的功能。

一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。

可以实现显示时钟,时钟能进行整点报时。

可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。

四、实验步骤1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。

2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。

3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。

4. 根据实验结果,写出合肥工业大学实验报告。

实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。

5.详细的上机实验步骤见任务分工及程序设计进度表。

五、实验结果经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

JAVA实验报告第十二章JAVAIO

JAVA实验报告第十二章JAVAIO

JAVA实验报告实验单元七【实验目的】1、掌握java.io包中类的继承关系。

2、可以使用File类进行文件的操作。

3、可以使用字节流或字符流操作文件内容并区分出字节流与字符流的区别。

4、掌握内存操作输入/输出流的使用。

5、掌握System类堆IO的三个支持System.out,System.err,System.in。

6、了解Java提供的输入工具类Scanner类的使用。

7、可以使用打印流方便地打印输出的内容,并可以使用JAVA新特性格式化输出。

8、可以使用BufferedRead类读取缓冲区中的内容。

9、了解Java提供的输入公爵泪Scanner类的使用。

【实验环境】安装了JDK软件的PC机。

【实验内容】第十二章的例题和习题。

第一题(P430例12.29)【程序功能内容说明】实现复制功能【实验程序原码】import java.io.* ;public class lyz{public static void main(String args[]){if(args.length!=2){System.out.println("输入的参数不正确。

") ;System.out.println("例:java Copy 源文件路径目标文件路径") ;System.exit(1) ;}File f1 = new File(args[0]) ;File f2 = new File(args[1]) ;if(!f1.exists()){System.out.println("源文件不存在!") ;System.exit(1) ;}InputStream input = null ; OutputStream out = null ;try{input = new FileInputStream(f1) ;}catch(FileNotFoundException e){e.printStackTrace() ;}try{out = new FileOutputStream(f2) ;}catch(FileNotFoundException e){e.printStackTrace() ;}if(input!=null && out!=null){int temp = 0 ;try{while((temp=input.read())!=-1){out.write(temp) ;}System.out.println("拷贝完成!") ;}catch(IOException e){e.printStackTrace() ;System.out.println("拷贝失败!") ;}try{input.close() ;out.close() ;}catch(IOException e){e.printStackTrace() ;}}}}【实验结果】【该程序关键技术说明】因为要复制的文件不一定是文本文件,所以如果此时使用字符流的话肯定不能很好的完成操作,所以必须使用字节流完成,使用OutputStream和InputStream 类。

实验报告 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文件。

实验5 JAVA IO

实验5 JAVA IO
6:FileOutputStream fos = new FileOutputStream("temp.txt");
7: int read = fis.read();
8:while ( read != -1 ) {
9:fos.write(read);
10:read = fis.read();
11:}
1:import java.io.*;
2:public class CopyFile {
3:public static void main(String[] args) {
4:try {
5:FileInputStream fis = new FileInputStream("CopyFile.java");
import java.io.*;
public class DirList
{
public static void main(String[] args)
{
File path = new File(".");
String[] list;
if (args.length == 0)
list = path.list();
String f = new File(name).getName();
return f.indexOf(afn) != -1;
}
} ///:~
12:fis.close();
13:fos.close();
14:}
15: catch (IOException e) {
16:System.out.println(e);
17:}
18:}
19:}
注意,如果copyFile.java中有中文字符会有什么样的问题,问题解决得方法是什么?

java实验报告

java实验报告

《Java语言程序设计》实验报告实验序号:六实验项目名称:理解Java IO中流的概念,学习并掌握相关的类及其方法学号XX 姓名XX 专业、班XX实验地点XX 指导教师XX 时间XX 一、实验目的及要求理解Java IO中流的概念,学习并掌握相关的类及其方法二、实验设备(环境)Windows xp 、MyEclips 8.6.0三、实验内容与步骤查看文本文件SomeData.txt中的数据并分析其格式,用Java I0 api将其中的所有数据读出,计算出每一行的后4列数据的平均值,存放到新文件AvgSomeData.txt文件中,存放时每一行前面要加上行号(行号占3位,右对齐),平均值放到行末并左对齐。

提示:SomeData中的分隔符是“\t”将一个浮点数,格式化成一个只有两位小数的字符串用字符串“%1$4.2f”比如:String.format(“%1$4.2f”, 3456.78909) 结果是:3456.78四、实验结果import java.io.*;public class TextFile {@SuppressWarnings("null")public static void main(String[] args) {FileReader myReader;BufferedReader myIn;FileWriter myWriter;BufferedWriter myOut;String strWork = null;String[] avg=new String[7];float average;float[] avgNum=new float[7];int counter=1;try{myReader=new FileReader("src\\SomeData.txt");myIn=new BufferedReader(myReader);myWriter=new FileWriter("src\\avgSomeData.txt");myOut=new BufferedWriter(myWriter);;while((strWork=myIn.readLine())!=null){strWork=myIn.readLine();avg=strWork.toString().split("\t");int i;avgNum[0]=Float.parseFloat(avg[3]);avgNum[1]=Float.parseFloat(avg[4]);avgNum[2]=Float.parseFloat(avg[5]);avgNum[3]=Float.parseFloat(avg[6]);average=(avgNum[0]+avgNum[1]+avgNum[2]+avgNum[3])/4;System.out.print(String.format("%1$3d",counter)+"\t"+strWork+"\t"+String.format("%1$4.2f",average)+"\n");counter++;}double num=3456.78909;String format=String.format("%1$4.2f",num);System.out.println(format+"\r\n");myIn.close();myReader.close();myOut.close();myWriter.close();}catch(IOException e){//对异常的处理System.out.println("Something wrong with the file.");return;}}}结果:1 9729 2007-8-16 991003 3242.35 3242.35 3139.71 3197.573205.502 9727 2007-8-14 991003 3319.27 3334.33 3239.01 3284.853294.373 9725 2007-8-10 991003 3116.31 3182.62 3084.23 3140.23130.844 9723 2007-8-8 991003 3125.47 3135.04 3022.11 3092.283093.735 9721 2007-8-6 991003 3138.6 3205.76 3128.1 3205.543169.506 9719 2007-8-2 991003 3002.28 3088.12 2975.9 3070.73034.257 9717 2007-7-31 991003 3087.03 3184.31 3067.87 3184.313130.888 9715 2007-7-27 991003 3018.62 3055 2970.44 3045.513022.399 9713 2007-7-25 991003 2887.31 3024.01 2887.31 3023.142955.4410 9711 2007-7-23 991003 2725.32 2882.14 2725.32 2882.142803.7311 9709 2007-7-19 991003 2619.45 2644.4 2593.16 2624.782620.4512 9707 2007-7-17 991003 2539.18 2609.92 2526.63 2579.912563.9113 9705 2007-7-13 991003 2646.62 2692.65 2628.7 2684.422663.1014 9703 2007-7-11 991003 2595.51 2622.22 2571.38 2613.52600.6515 9701 2007-7-9 991003 2642.07 2696.54 2613.32 2678.032657.4916 9699 2007-7-5 991003 2636.13 2640.07 2495.77 2497.582567.3917 9697 2007-7-3 991003 2744.69 2756.51 2664.52 2726.492723.0518 9695 2007-6-29 991003 2686.05 2774.01 2653.45 2665.592694.7719 9693 2007-6-27 991003 2808.65 2878.12 2764.16 2863.242828.5420 9691 2007-6-25 991003 2969.67 3002.18 2749.09 2768.462872.3521 9689 2007-6-21 991003 3065.17 3125 3047.63 3117.883088.9222 9687 2007-6-19 991003 3131.2 3136.03 3067.22 3131.643116.5223 9685 2007-6-15 991003 3003.37 3078.51 2983.9 3040.43026.5424 9683 2007-6-13 991003 3101.68 3156.2 3091.93 3113.543115.8425 9681 2007-6-11 991003 2875.46 2902.84 2842.94 2896.192879.3626 9679 2007-6-7 991003 2674.47 2769 2662.92 2768.82718.8027 9677 2007-6-5 991003 2471.51 2666.28 2359.22 2663.792540.2028 9675 2007-6-1 991003 3089.38 3139.48 2873.93 2899.543000.5829 9673 2007-5-30 991003 3246 3390.25 3171.33 3199.013251.6530 9671 2007-5-28 991003 3277.73 3345.9 3275.67 3310.983302.5731 9669 2007-5-24 991003 3249.8 3263.2 3127.94 3180.983205.4832 9667 2007-5-22 991003 3195.11 3279.15 3195.11 3267.223234.1533 9665 2007-5-18 991003 3135.42 3141.28 3100.93 3112.993122.6634 9663 2007-5-16 991003 2988.97 3071.94 2926.53 3071.043014.6235 9661 2007-5-14 991003 3091.8 3149.11 3070.93 3129.733110.3936 9659 2007-5-10 991003 3171.01 3218.24 3141.81 3190.293180.3437 9657 2007-5-8 991003 3112.1 3190.31 3102.65 3188.963148.5138 9655 2007-4-27 991003 3037.51 3068.68 3009.15 3012.973032.0839 9653 2007-4-25 991003 2986.93 3015.21 2902.36 3009.632978.5340 9651 2007-4-23 991003 2842.15 2965.78 2842.15 2965.782903.9741 9649 2007-4-19 991003 2757.16 2799.86 2569.65 2676.942700.9042 9647 2007-4-17 991003 2638.61 2668.21 2572.4 2665.122636.0843 9645 2007-4-13 991003 2567.27 2625.13 2532.79 2548.32568.3744 9643 2007-4-11 991003 2464.64 2479.6 2434.5 2475.132463.4745 9641 2007-4-9 991003 2413.31 2459.52 2413.31 2450.552434.1746 9639 2007-4-5 991003 2308.28 2361.72 2300.77 2360.172332.7347 9637 2007-4-3 991003 2283.75 2310.48 2274.01 2310.482294.6848 9635 2007-3-30 991003 2202 2239.84 2189.74 2219.52212.7749 9633 2007-3-28 991003 2269.45 2283.39 2161 2271.862246.4350 9631 2007-3-26 991003 2198.99 2245.84 2196.96 2245.682221.8751 9629 2007-3-22 991003 2151.34 2187.52 2148.72 2159.182161.6952 9627 2007-3-20 991003 2089.21 2127.3 2074.19 2122.282103.2453 9625 2007-3-16 991003 2094.75 2103.58 2018.89 2050.922067.0454 9623 2007-3-14 991003 2037.12 2061.61 2026.87 2037.872040.8755 9621 2007-3-12 991003 1994.49 2007.36 1953.95 2007.251990.7656 9619 2007-3-8 991003 1994.96 2024.51 1976.81 2022.562004.7157 9617 2007-3-6 991003 1916.27 1955.53 1898.42 1939.331927.3958 9615 2007-3-2 991003 1963.86 1969.86 1936.97 1958.751957.3659 9613 2007-2-28 991003 1838.82 1990.24 1838.37 1978.041911.3760 9611 2007-2-26 991003 1974.12 2047.04 1955.4 2046.562005.7861 9609 2007-2-15 991003 1905.79 1929.11 1879.45 1925.221909.8962 9607 2007-2-13 991003 1812.98 1831.02 1794.22 1823.731815.4963 9605 2007-2-9 991003 1741.99 1804.75 1709.39 1792.581762.1864 9603 2007-2-7 991003 1629.03 1676.01 1629.03 1658.581648.1665 9601 2007-2-5 991003 1587.41 1609 1575.23 1594.791591.6166 9599 2007-2-1 991003 1625.72 1659.92 1582.46 1641.441627.3967 9597 2007-1-30 991003 1736.14 1736.97 1694.51 1704.551718.0468 9595 2007-1-26 991003 1614.84 1684.99 1587.16 1673.151640.0469 9593 2007-1-24 991003 1645.89 1701.53 1640.92 1688.811669.2970 9591 2007-1-19 991003 1537.11 1598.71 1537.11 1598.551567.8771 9589 2007-1-17 991003 1529.37 1577.79 1502.43 1535.231536.2172 9587 2007-1-15 991003 1461.34 1501.5 1438.28 1501.121475.5673 9585 2007-1-11 991003 1548.44 1564.5 1520.45 1527.121540.1374 9583 2007-1-9 991003 1495.06 1513.06 1482.04 1511.861500.5175 9581 2007-1-5 991003 1350.38 1442.77 1338.31 1435.981391.8676 9579 2006-12-29 991003 1347.58 1369.7 1344.28 1361.161355.6877 9577 2006-12-27 991003 1319.29 1339.8 1318.27 1339.521329.2278 9575 2006-12-25 991003 1333.83 1353.4 1328.64 1340.141339.0079 9573 2006-12-21 991003 1350.77 1365.47 1331.9 1332.411345.1480 9571 2006-12-19 991003 1313.28 1321.11 1287.841320.82 1310.7681 9569 2006-12-15 991003 1301.61 1307.55 1294.811305.59 1302.3982 9567 2006-12-13 991003 1265.92 1274.23 1257.051271.69 1267.2283 9565 2006-12-11 991003 1224.8 1267.41 1224.8 1267.081246.0284 9563 2006-12-7 991003 1267.05 1293.73 1264.19 1264.671272.4185 9561 2006-12-5 991003 1297.74 1301.62 1283.62 1297.341295.0886 9559 2006-12-1 991003 1253.93 1260.91 1240.05 1256.221252.7887 9557 2006-11-29 991003 1237.9 1244.56 1234.93 1242.651240.0188 9555 2006-11-24 991003 1214.89 1221.77 1203.5 1214.71213.7289 9553 2006-11-22 991003 1203.34 1205.38 1202.841204.95 1204.1390 9551 2006-11-20 991003 1185 1190.58 1170.49 1184.21182.5791 9549 2006-11-16 991003 1166.99 1171.35 1143.811146.29 1157.1192 9547 2006-11-14 991003 1133.21 1141.51 1109.091133.54 1129.3493 9545 2006-11-10 991003 1188.31 1192.31 1156.551161.1 1174.5794 9543 2006-11-8 991003 1202.84 1202.84 1180.13 1181.681191.8795 9541 2006-11-6 991003 1171.32 1200.4 1162.96 1198.991183.4296 9539 2006-11-2 991003 1157.17 1187.57 1157.17 1169.741167.9197 9537 2006-10-31 991003 1132.14 1144.88 1130.041144.88 1137.9898 9535 2006-10-27 991003 1119.33 1119.36 1096.911104.94 1110.1499 9533 2006-10-25 991003 1128.78 1134.32 1112.961122.18 1124.56100 9531 2006-10-23 991003 1129.83 1133.88 1099.36 1103.75 1116.70101 9529 2006-10-19 991003 1148.02 1148.8 1136.11 1140.28 1143.30102 9527 2006-10-17 991003 1136.54 1141.5 1128.6 1131.06 1134.43103 9525 2006-10-13 991003 1139.54 1157.83 1137.97 1149.69 1146.26104 9523 2006-10-11 991003 1141.29 1141.67 1127.35 1140.63 1137.73105 9521 2006-10-9 991003 1122.04 1138.78 1118.48 1138.78 1129.52106 9519 2006-9-28 991003 1093.2 1099.86 1088.59 1098.03 1094.92107 9517 2006-9-26 991003 1097.16 1097.97 1086.13 1090.88 1093.03108 9515 2006-9-22 991003 1117.22 1120.23 1103.94 1104.44 1111.46109 9513 2006-9-20 991003 1129.68 1133.81 1119.76 1129.76 1128.25110 9511 2006-9-18 991003 1125.13 1134.37 1121.37 1134.17 1128.76111 9509 2006-9-14 991003 1089.45 1092.9 1075.58 1084.11 1085.51112 9507 2006-9-12 991003 1080.81 1089.65 1076.43 1087.15 1083.51113 9505 2006-9-8 991003 1076.93 1081.03 1074.21 1079.09 1077.81114 9503 2006-9-6 991003 1082.79 1093.11 1077.58 1092.79 1086.57115 9501 2006-9-4 991003 1069.65 1085.47 1068.89 1085.42 1077.36116 9499 2006-8-31 991003 1087.62 1088.96 1078.88 1083.4 1084.713456.79五、分析与讨论(体会、感想、意见、建议)初步掌握了FileReader,BufferedReader, FileWriter, BufferedWrite和try-catch结构的用法还有用format实现规格化输出的方法。

JAVA实验报告(实验五)

JAVA实验报告(实验五)
out.newLine();
s=【代码6】//inTwo读取一行
}
inOne.close();
inTwo.close();
t.flush();
out.close();
tofile.close();
inOne=【代码7】//创建指向文件tempFile的输入流
inTwo=【代码8】//创建指向inOne file的输入流
{
File file=new File("c:/1000","hello.txt");
File tempFile=new File("temp.text");
try{
FileReader inOne=【代码1】//创建指向文件file的输入流
BufferedReader inTwo=【代码2】//创建指向inOne file的输入流
out_data.writeChar(c);// out_data将数据c写入到文件
}
catch(IOException e){}
try
{
FileInputStream fis = new FileInputStream(f); //创建指向f文件输入流
DataInputStream in_data = new DataInputStream(fis); //创建指向fis的数据输入流
System.out.println(【代码14】); // in_data读取int整数
System.out.println(【代码15】); // in_data读取long整数
System.out.println(【代码16】); // in_data读取float数

JAVA实验报告-实验七

JAVA实验报告-实验七

院(系)计算机学院专业计算机科学与技术班级计科2班
姓名学号同组人无
实验室 S4305 组号日期
课程 Java程序设计指导教师成绩
实验项目编号 8103200407 实验项目名称 IO流
一、实验目的
熟悉并掌握Java中输入输出流的编程。

二、实验环境
Windows XP 操作系统
Eclipse
三、实验原理
使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。

四、算法设计
【任务一】批量修改指定文件夹下的文件名。

如下图,指定目录下(例如指定文件夹为“实验八_神奇校车”)有不规则文件名如下。

请编程实现文件名的批量修改,修改后的文件名格式统一为“001_龙卷风.txt”,“002_神奇的蜂巢.txt”,……。

【任务二】将制定文件夹下的所有文件和子文件夹拷贝到目标文件夹下。

五、主要代码及说明
【任务一】
【任务二】
任务一:
任务二:
六、实验小结
通过本次上机,掌握了文件输入/输出流的使用方法,知道了怎样对文件进行读写操作。

java实验5:IO流

java实验5:IO流

实验5 流(2学时)一、实验目的1.熟悉流类库中各种常用流的使用方法。

2.能够使用流类实现基本的文件读写。

二、实验内容1.编写程序,要求:用户在键盘每输入一行文本,程序将这段文本显示在控制台中。

当用户输入的一行文本是“exit”(不区分大小写)时,程序将用户所有输入的文本都写入到文件log.txt中,并退出。

(要求:控制台输入通过流封装System.in获取,不要使用Scanner)2.查看File类的API文档,使用该类实现一个类FileList,它提供两个静态方法:1)printContentsInOneDirectory:能够将输入参数path所指定的本地磁盘路径下的所有目录和文件的名称(指明是目录还是文件,格式见下图)打印出来;2)readFileAndDirectory:能够将输入参数path所指定的本地磁盘路径下的所有目录(包含子目录)和文件的名称(指明是目录还是文件,格式见下图)以层次化结构打印出来。

例如,某个目录下面有子目录a和文件Teacher.class,目录a下面有子目录b(下面有文件Teacher.java)和c(下面有文件Test.java和Test.class)以及文件1.txt,将该目录对应的路径作为输入参数调用该方法,程序的输出如下图所示。

3.假设某个餐馆平时使用:1)文本文件(orders.txt)记录顾客的点菜信息,每桌顾客的点菜记录占一行。

每行顾客点菜信息的记录格式是“菜名:数量,菜名:数量,…菜名:数量”。

例如:“烤鸭:1,土豆丝:2,烤鱼:1”。

2)文本文件(dishes.txt)记录每种菜的具体价格,每种菜及其价格占一行,记录格式为“菜名:价格“。

例如:“烤鸭:169”。

编写一个程序,能够计算出orders.txt中所有顾客消费的总价格。

4.设计学生类Student,属性:学号(整型);姓名(字符串),选修课程(名称)及课程成绩(整型)。

编写一个控制台程序,能够实现Student信息的保存、读取。

java实验IO流编程

java实验IO流编程

Java语言程序设计实验(二)实验题目: I/O流编程指导老师:吴学辉班级:计算机科学与技术系班姓名:()2015年 5月17日一、实验名称:I/0 流编程二、实验内容:1、编写一个文件复制的程序,将已存在的一个文本文件复制到另外文件中。

2、将1题中的复制文件按行输出到屏幕上3、将10个整型数写入一个文件,然后再从该文件中将整型数读出。

4、往屏幕上只输出当前文件夹下的所有Java文件(通过实现FilenameFilter 接口)三、实验目的:1、了解Java输入输出流式原理。

2、熟悉常用流类的基础知识及其使用。

3、掌握文件处理涉及的几个流类。

四、实验原理:1、文件的输入输出类:字符流:FileReader和FileWriter字节流:FileInputStream和FileOutputStream read()和write()方法2、按行输出:BufferedReader类、readLine( ) 方法五、实验过程:(1)、建立java_project,命名为“java.shiyaner”,在项目中右键新建一个包,名为java,在这个包下创建两个类,分别命名为“copyfile.java”和“readfile.java”,效果如下:(2)、在copyfile.java中编写代码package java;import java.io .FileInputStream;import java.io .FileOutputStream;import java.io .IOException;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.InputStream;public class copyfile {public static void main(String[] args) throws IOException {// TODO Auto-generated method stubString src_file= "D:/java/java.doc";String des_file= "D:/java/java_copy.doc";copyFile(src_file,des_file);System.out.println("ok!")}public static void copyFile(String src_file, String des_file) throws IOException {// TODO Auto-generated method stubBufferedInputStream inbuff=null;BufferedOutputStream outbuff=null;try{inbuff=new BufferedInputStream(new FileInputStream(src_file));outbuff=new BufferedOutputStream(new FileOutputStream(des_file));byte[] b= new byte[1024*5];int len;while((len=inbuff.read(b))!=-1){outbuff.write(b,0,len);}outbuff.flush();}finally{if(inbuff!=null)inbuff.close();if(outbuff!=null)outbuff.close();}}<未创建文件之前运行,会给出找不到文件源的错误><在目录下创建文件,再次运行,结果如右图><返回D盘查看,java_copy.doc出现在该目录下>在readfiel中编辑代码package java;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;public class readfile{public static void main(String[] args) throws Exception{FileOutputStream fos=new FileOutputStream("int.txt"); DataOutputStream dos=new DataOutputStream(fos);System.out.println("请输入十个整数,(最后以-1结束)");while(true){String str=newBufferedReader(new InputStreamReader(System.in)).readLine();int i=0;try{ i=Integer.parseInt(str);}catch(NumberFormatException e){throw new NumberFormatException("只能传正整数"); }if(i==-1) break;dos.writeInt(i);} dos.close();FileInputStream fis=new FileInputStream("int.txt");DataInputStream dis=new DataInputStream(fis);int totalBytes=dis.available();//写入总字节数int num;System.out.println("从int.txt文件中读出:");while(totalBytes>0){num=dis.readInt();//每次读4字节System.out.println(num);totalBytes=totalBytes-4;}dis.close();}}五、实验总结:通过本次实验熟悉了字符流的读出和写入过程,通过字符流的两个抽象类:write和read还有其对应子类FileWriter和FileReader 可实现文件的读写操作,BufferedWriter和BufferedReader能够提供缓冲区功能,用以提高效率。

JAVA IO操作实验

JAVA IO操作实验

实验四:输入输出一.本实验目的及要求:1.掌握JA VA标准输入与输出对象(System.in,System.err,System.out),使用Scanner实现字符和数据的输入;2.掌握JA V A文件操作File,RandomAccessFile;3.掌握流操作(InputStream,OutputStream),理解字节流和字符流概念,理解初级流和过滤流的概念;4.掌握JA V A文件压缩操作;5. 完成以下各内容程序,截存运行结果图,并提交实验报告。

二.基础知识1.文件操作Java语言统一将每个文件都视为一个顺序字节流。

每个文件或者结束于一个文件结束标志,或者根据系统维护管理数据中所纪录的具体字节数来终止。

当一个文件打开时,一个对象就被创建,同时创建一个流和该对象关联。

图1-3 文件的存储形式基于Java的平台无关性特点,Java的文件访问机制也是独立于文件系统。

为了克服在Windows 和UNIX系统下,不同的路径分隔符. Windows使用”\\”,Unix使用”/”,File类提供了file.separator静态值来解决分隔符的问题。

而绝对路径的约定,在UNIX平台”/”为绝对路径,在Windows平台”E:\\”为绝对路径。

Java对文件的操作可通过File和RandomAccessFile类来实现。

在文件操作中,java.io.File 类是重要类,它提供创建文件和目录以及访问文件信息的有关描述和操作,使用File类注意:它是通过某个路径创建一个File类,并不需要真正存在这个目录或文件,而是通过这个对象来保存对文件和目录的引用。

即利用文件名和路径名来实例化一个文件类。

RandomAccessFile类可以处理任何类型的数据文件。

该类可以对多种格式的文件进行访问操作,它支持对文件的随机访问,即可以在文件的任意位置上进行数据存取操作。

其特点:实现对文件的非顺序方式随机存取;既是输入流,也是输出流,通过参数决定流的类型。

javaio流实验总结

javaio流实验总结

javaio流实验总结Java IO流是Java语言中用于处理输入输出的一套API。

在Java中,IO流分为输入流和输出流两种类型。

输入流用于从外部读取数据,而输出流则用于将数据写入到外部设备或文件中。

Java IO流的基本操作包括创建文件、打开文件、读取文件、写入文件等。

在进行IO操作时,需要先创建一个File对象,然后通过该对象来打开或创建一个文件。

接着,可以使用InputStream或OutputStream类来进行读写操作。

Java IO流提供了多种不同类型的输入输出方式,包括字节流和字符流等。

其中,字节流主要用于处理二进制数据,而字符流则主要用于处理文本数据。

在使用IO流时,需要根据实际需求选择合适的输入输出方式。

在实际应用中,Java IO流常被用于处理大量的数据或进行网络编程等方面。

例如,在网络编程中可以使用Socket类来建立连接,并使用InputStream和OutputStream类进行数据传输。

除了基本操作之外,Java IO流还提供了一些高级功能,如缓冲区、过滤器等。

缓冲区可以提高IO读写效率,并减少系统调用次数;过滤器则可以对IO数据进行加工处理。

另外,在进行IO操作时需要注意一些细节问题。

例如,在读取或写入文件时应该确保文件存在并有足够的权限;同时,在关闭IO流时应该使用try-catch-finally语句来确保资源被正确释放。

总之,Java IO流是Java语言中非常重要的一部分,掌握IO流的使用方法对于开发高效、可靠的Java程序至关重要。

在实际应用中,需要根据实际需求选择合适的输入输出方式,并注意一些细节问题。

javaio流实验总结

javaio流实验总结

javaio流实验总结Java IO流是Java编程中非常重要的一部分,它提供了一种简单而灵活的方式来处理输入和输出。

在本次实验中,我学习了Java IO 流的基本概念、不同类型的IO流以及如何使用它们进行读写操作。

下面是我对实验内容的总结和感悟。

Java IO流是用于处理输入和输出的工具。

它通过提供一种抽象的方式来处理不同来源和目标的数据,如文件、网络连接和内存缓冲区。

在Java中,IO流分为两大类:字节流和字符流。

字节流以字节为单位进行读写,适用于处理二进制数据或字节流;字符流以字符为单位进行读写,适用于处理文本数据。

在实验中,我学习了四种基本的字节流:InputStream、OutputStream、FileInputStream和FileOutputStream。

InputStream用于从源读取数据,OutputStream用于向目标写入数据。

FileInputStream和FileOutputStream则是用于读写文件的特殊字节流。

通过使用这些流,我可以轻松地读取和写入文件中的数据。

除了字节流,我还学习了四种基本的字符流:Reader、Writer、FileReader和FileWriter。

Reader用于从源读取字符数据,Writer 用于向目标写入字符数据。

FileReader和FileWriter则是用于读写文件的特殊字符流。

字符流比字节流更适合处理文本数据,因为它们可以正确处理字符编码和换行符。

在实验中,我还学习了如何使用缓冲流来提高IO性能。

缓冲流是对基本的字节流和字符流的包装,它们使用内部缓冲区来减少对底层数据源的访问次数,从而提高读写的效率。

通过使用BufferedInputStream和BufferedOutputStream,我可以在读写大量数据时获得更好的性能。

类似地,通过使用BufferedReader 和BufferedWriter,我可以更快地读写文本文件。

8.Java网络编程实验-IO

8.Java网络编程实验-IO
RandomAccessFile对象类有个位置指示器,指向当前读写处的位置,当读写n个字节后,文件指示器将指向这n个字节后的下一个字节处。刚打开文件时,文件指示器指向文件的开头处,可以移动文件指示器到新的位置,随后的读写操作将从新的位置开始。RandomAccessFile在等长记录格式文件的随机(相对顺序而言)读取时有很大的优势,但该类仅限于操作文件,不能访问其他的 IO设备,如网络,内存映象等。
3.理解流的概念
数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。
假如字符c的范围在/u0001和/u007f之间,对应的UTF码占一个字节,内容为:(byte)c。
假如字符c是/u0000或其范围在 /u0080和/u07ff之间,对应的UTF码占两个字节,内容为:(byte)(0xc0|(0x1f&(c>>6))),(byte)(0x80|(0x3f&c))。
BufferedOutputStream
往BufferedOutputStream输出和往OutputStream输出完全一样,只不过BufferedOutputStream有一个flush方法用来将缓冲区的数据强制输出完。与缓冲区输入流不同,缓冲区输出流没有增加额外的功能。在 Java中使用输出缓冲也是为了提高性能。它也有两个构造函数:

Java中IO流解析及代码实例详解

Java中IO流解析及代码实例详解

Java中IO流解析及代码实例详解⽬录1、IO流1.流和流的分类什么是IO流?IO流的分类?java.io包下需要掌握的流有16个:2.如何使⽤流1、输⼊流(读⽂件):FileInputStream2、输出流(写⽂件):FileOutputStream3.⽂件的拷贝总结1、IO流1.流和流的分类什么是IO流?I:Input (输⼊)O: Ouput(输出)IO流的分类?有多种分类⽅式:⼀种⽅式是按照流的⽅向进⾏分类:以内存作为参照物往内存中去,叫做输⼊(Input)。

或者叫做读(Read) .从内存中出来,叫做输出(output)。

或者叫做写(write) .另⼀种⽅式是按照读取薮据⽅式不同进⾏分类:有的流是按照字节的⽅式读取数据,⼀次读取1个字节byte,等同于⼀次读取8个⼆进制。

这种流是万能的,什么类型的⽂件都可以读取。

包括:⽂本⽂件,图⽚,声⾳⽂件,视频……有的流是按照字符的⽅式读取数据的,⼀次读取⼀个字符,这种流是为了⽅便读取普通⽂本⽂件⽽存在的,这种流不能读取:图⽚、声⾳、视频等⽂件。

只能读取纯⽂本⽂件,连word⽂件都⽆法读取总结:流的分类输⼊流、输出流、字节流、字符流Java IO流的四⼤家族java.io.InputStream字节输⼊流java.io.OutputStream字节输出流java.io.Reader字符输⼊流java.io.Writer字符输出流注意:四个都是抽象类。

所有流都是实现了java.io.Closeable接⼝,都是可关闭的流是⼀个管道,是内存和硬盘之间的通道。

⽤完后⼀定要关闭,不然会占⽤很多资源。

所有的输出流都实现了java.io.Flushable接⼝,都是可刷新的最终输出后,⼀定要记得调⽤flush()⽅法。

⽬的是将管道中剩余未输出的数据强⾏输出完(清空管道)如果没有flash(),可能会导致丢失数据在java中只要”类名”以strean结尾的都是字节流。

java第14周实验(IO流)

java第14周实验(IO流)

java第14周实验(IO流)0. 字节流与⼆进制⽂件我的代码public class WriterStu {public static void main(String[] args) {DataOutputStream dos = null;Student[] stus = new Student[100];Student d1 = new Student(1, "x", 18, 99.5);Student d2 = new Student(2, "x", 19, 100.0);Student d3 = new Student(3, "x", 20, 59.5);try (FileOutputStream fos = new FileOutputStream(new File("e:/Student.data"))) {dos = new DataOutputStream(fos);for (Student student : stus) {dos.writeInt(student.getId());dos.writeUTF(student.getName());dos.writeInt(student.getAge());dos.writeDouble(student.getGrade());}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}try (DataInputStream dis = new DataInputStream(new FileInputStream("e:/Student.data"))) {int id = dis.readInt();String name = dis.readUTF();int age = dis.readInt();double grade = dis.readDouble();Student stu=new Student(id,name,age,grade);System.out.println(stu);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}我的总结⽂本⽂件中的数据都是以字符的形式进⾏组织,通常可以逐⾏或全部读取到⼀个字符串变量中。

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

流处理程序设计
一、课题内容和要求
内容:设计和编写一个程序从键盘读入一行字符串,将其写入一个文本文件中,再编写另一个程序从文本文件中读入字符串并在命令行窗口显示出来。

要求:要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法。

二、设计思路分析
Write.java:
class Write: 将字符串从键盘输入到文件。

Read.java:
class Read: 将字符串从文件输出到命令行窗口。

三、概要设计
Write.java:
public class Write{
public static void main(String[] args);
}
Read.java:
public class Read{
public static void main(String[] args);
}
四、详细设计
Write.java:
import java.io.*;
import java.util.Scanner;
public class Write {
public static void main(String[] args) {
File file=new File("File.txt");
System.out.print("输入一行字符串:\n");
Scanner reader=new Scanner(System.in);//输入一行字符串
String s=reader.nextLine();
try {// 异常处理
FileWriter toFlie=new FileWriter(file);//通过底层流写入文件
BufferedWriter out=new BufferedWriter(toFlie);//通过缓冲流将字符串写入底层流
out.write(s);
out.close();
toFlie.close();
}
catch(IOException e){
System.out.println(e);
}
}
}
Read.java:
import java.io.*;
public class Read {
public static void main(String[] args) {
File file = new File("File.txt");
try {// 异常处理
FileReader fromFile = new FileReader(file);// 通过底层流读取文件
BufferedReader in = new BufferedReader(fromFile);// 通过缓冲流从底层流读取字符串
System.out.print("文件内容:\n");
String s = in.readLine();// 输出一行字符串
System.out.print(s);
in.close();
fromFile.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
五、测试数据及其结果分析
1正常输入:
2文件内容变为:
3输出:
4结果:输出正常。

六、调试过程中的问题
一开始直接采用FileReader和Filewriter类进行文件的输入输出,无法直接读取一行字符串而要借助字符数组进行逐个字符的读取。

后采用BufferedReader和BufferedWrite类进行操作即可轻松实现整行写入与读取。

七、程序设计总结
1、通过该实验掌握了JAVA流程序的编写和调试的方法。

2、熟悉了不同流的正确选择使用和组合使用方法。

3、认识到借助缓冲流和底层流的结合能方便地处理整行字符串。

相关文档
最新文档