版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课时授课计划2016-2017学年第2学期第1周授课日期2月21日星期二月日星期月日星期月日星期月日星期班级网络15-1基本课题环境配置及语言基础(上机实验)教学目的与要求:1.了解Java环境的安装与配置过程。2.学习Java环境的使用方法。3.了解Java语言程序从编辑、编译到运行并得到运行结果的过程。教学重点:环境的配置及程序的运行过程教学难点:环境的配置及JAVA的语法结构作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:环境的配置第一个Applet和Application的编译运行过程(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)1.了解TC环境的组成。(约30min)JDK\\bin\\包括编译器、解释器和一些基本工具。JDK\\demo\\包括一些简单的示例。JDK\\include\\是Win32子目录,包括本地方法文件。JDK\\jre\\是Java程序运行环境的根目录。JDK\\jre\\bin包括平台运行时的工具和类库的可执行文件和动态链接库文件。JDK\\jre\\lib包括Java运行环境的代码库,默认安装文件等。JDK\\lib包括类库文件。JDK\src.zip源代码压缩文件。2.环境的配置。设置环境变量:JAVA_HOME=C:\j2sdk1.4.2(安装路径)CLASSPATH=C:\j2sdk1.4.2\lib\dt.jar;C:\j2sdk1.4.2\bin;C:\j2sdk1.4.2\lib\tools.jar;.;PATH=C:\j2sdk1.4.2\bin;3.第一个应用程序(约30min)publicclassTest//定义一个test类{publicstaticvoidmain(String[]args)//定义一个main()方法{System.out.println("hello");//屏幕的输出信息System.out.println("javaworld");}}编译运行:>javacTest.java>javaTest第一个小应用程序3.3第一个小应用(约30min)importjava.awt.Graphics;importjava.applet.Applet;publicclassFirstAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawString("IloveChina",70,70);g.drawRect(50,50,100,30);}}<HTML><HEAD><TITLE>my</TITLE></HEAD><BODY><appletcode="FirstApplet.class"width=300height=190></applet></BODY></HTML>编译运行:>javacFirstApplet.java>javaFirstApplet三、上机实验小结:(约2min)1、jdk的安装2、环境变量的设置3、第一个应用程序和小应用四、上机实验思考题与作业:(约3min)Application和Applet的区别。
课时授课计划2016-2017学年第2学期第2周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题Java基础语法(上机实验)教学目的与要求:1.掌握Java的基本语法格式2.在程序中灵活应用Java的各种语句教学重点:Java语句的灵活应用教学难点:Java语句的灵活应用作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:数组的定义数组的应用(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)(约90min)表达式语句:表达式;空语句:只有分号,没有内容,不执行任何操作,目的是增加程序的容错性复合语句{[变量声明或常量声明];语句序列;}if语句if(布尔表达式)语句1;[else语句2;]5.switch(表达式){case常量表达式1:语句序列1;[break;]case常量表达式2:语句序列2;[break;][default:语句序列;]}6.do-while语句语法do{语句;}while(布尔表达式);while语句语法while(布尔表达式){语句;}8.for语句语法for(表达式1;表达式2;表达式3){语句;}实验内容:将三个整数按从小到大的顺序输出显示星期几对应的英文字符串三、上机实验小结:(约2min)1、Java的基本语法格式2、在程序中灵活应用Java的各种语句四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第3周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题数组的应用(上机实验)教学目的与要求:1.掌握数组定义的语法格式2.掌握数组的应用方法。教学重点:数组的应用教学难点:数组的综合应用作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:数组的定义数组的应用(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)(约90min)1、声明一维数组变量数据类型[]数组或数据类型数组[]inta[];或int[]a;2、使用new为数组分配空间数组=new数据类型[长度]a=newint[5];inta[]=newint[5];3、数组元素的表示数组[下标]注:下标从零开始,直到数组长度-1a[0],a[1],a[2],a[3],a[4]4、数组元素的运算a[i]=a[i-2]+a[i-1];//数组元素能够参加运算5、数组长度length数组.length6、数组声明时赋初值charspring[]={'春','眠','不','觉','晓','处','处','闻','啼','鸟'};charspring[]=“夜来风雨声,花落知多少”;inta[]={1,2,3,4,5};相当于inta[]=newint[5];for(inti=0;i<a.length;i++)a[i]=i+1;2.声明和创建二维数组声明typearrayName[][];type[][]arrayName;创建arrayName=newtype[arrayLength1][arrayLength2];实验内容:用一维数组计算Fibonacci序列值构造一个9行9列的乘法表。金额的中文大写方式求解约瑟夫环问题三、上机实验小结:(约2min)1、数组的定义2、数组的应用四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第4周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题字符串的使用(上机实验)教学目的与要求:1.掌握字符串的定义和使用。2.灵活应用字符串的各种方法教学重点:灵活应用字符串的各种方法教学难点:灵活应用字符串的各种方法作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:字符串的定义字符串方法的应用(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)(约30min)1.String字符串的特点在程序中可以不用new运算符,java编译器也能从String类生成一个对象。可以把字符数组作为参数生成一个串。可以把字符串的一部分作为参数。JDK1.1后还允许用字符串数组的方式来生成字符串对象。当给定一个字节数组时,String类提供了初始化字符串的构造方法。2.String类的构造方法String();String(charchars[]);String(charchars[],intstartIndex,intnumChars);String(byteascii[],inthiByte);String(byteascii[],inthiByte,intstartIndex,intnumChars);3.toCharArray()方法:提取整个字符串放入字符数组arr[]使用此方法前要先建立字符数组arr[]chararr[]="TheraininNanjing".toCharArray();for(inti=0;i<arr.length;i++)System.out.print(arr[i]);System.out.println();4.取子串的方法publicStringsubString(intbeginIndex);publicStringsubString(intbeginIndex,intendIndex);
用来得到字符串中指定范围内的子串。5.其他方法Stringstr="abc";intn=str.length(); //n获得str的长度charch=str.charAt(0);//ch获得str的第1个字符'a'6.可变字符串:StringBuffer类的构造方法StringBuffer();StringBuffer(intlength);StringBuffer(Stringstr);实验内容1:实现一种插入排序算法。(约60min)实验内容2:在排好序的字符串数组中查找指定字符串。实验内容3:判断回文字符串。三、上机实验小结:(约2min)1、字符串的定义2、字符串方法的应用四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第5周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题类和对象的定义(上机实验)教学目的与要求:1.掌握类的定义及使用方法。2.掌握对象的定义及使用方法。教学重点:类和对象的关系及使用教学难点:类和对象的关系及使用作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:类和对象的定义及使用数组的定义及综合应用(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)(约30min)1.类的定义[修饰符]class类名[extends父类名][implements接口名]{[声明成员变量];[声明方法;]}注:在Java中,有许多类都是从Java系统提供的java.lang包中的Object类派生出来的,这样派生的类一般不在从属性中指出父类的名字,我们称为这些类的父类被隐藏。2.类定义的规则类的成员变量定义必须放在类体中,但又不能包含在某个方法中。类属性:指出该类的父类(superclass);指出该类提供的接口(interface);指出该类的特性。3.成员变量与局部变量成员变量和局部变量的类型可以是任何一种java类型,可以是基本类型,也可以是引用类型。成员变量在整个类内都有效,而局部变量只在定义它的方法内有效。成员变量又分为实例变量和类成员变量。如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏。如果要引用这个开始定义的成员变量就必须使用关键字this。4.对象生成(约30min)对象声明实例化初始化5.对象定义格式type对象名=newtype([参数列表]);6.方法定义格式[修饰符]返回类型方法名([参数列表]){[局部变量列表;][语句块;]}7.构造方法定义格式public类名([参数列表]){[语句;]}实验内容求梯形的面积,修改高后重新计算梯形的面积。计算圆锥的体积,要求定义两个类圆和圆锥:(1)计算圆锥的体积;(2)修改底圆半径后重新计算圆锥的体积。三、上机实验小结:(约2min)1、类的定义2、对象的定义及使用3、数组的定义和使用四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第6周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题类的继承、多态(上机实验)教学目的与要求:1.掌握类的继承原则并学会应用。2.掌握类的多态性。教学重点:继承特性方法重写与重载教学难点:继承和多态在程序中的应用作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:类的继承类的多态(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)(约30min)1.继承原则子类继承父类的成员变量,包括实例成员变量和类成员变量。子类继承父类除构造方法以外的成员方法,包括实例成员方法和类成员方法。子类不能继承父类的构造方法。因为父类构造方法创建的是父类对象,子类必须声明自己的构造方法,创建子类自己的对象。子类能够继承父类的析构方法。子类不能删除父类成员。子类可以增加自己的成员变量和成员方法。子类可以重定义父类成员。声明继承的类[修饰符]class类[extends父类][implements接口列表]例:publicclassStudent1extendsPerson1{Stringspeciality; //专业}3.类的赋值相容性(1)子类对象即是父类对象,反之不然。Person1p1=newPerson1(“李小明”,21);Student1s1=newStudent1(“王大伟”,19);p1instanceofPerson1//trues1instanceofPerson1//truep1instanceofStudent1//false(2)父类对象能够被赋值为子类对象:Person1p1=newStudent1();//赋值相容性Student1s1=newPerson1();//赋值不相容性子类对象对父类成员的访问权限子类对父类的私有成员(private)没有访问权限;子类对父类的公有成员(public)和保护成员(protected)具有访问权限。子类对父类中缺省权限成员的访问分两种情况,对同一包中父类的缺省权限成员具有访问权限,而对不同包中父类的缺省权限成员则没有访问权限。5.方法的重载重载(overload)是指同一个类中的多个方法可以同名但参数列表必须不同。6.方法的覆盖覆盖(override)是指子类声明并实现父类中的同名方法并且参数列表也完全相同。编译时多态性Person1p1=newPerson1("李小明",21); //对象获得本类的实例,对象与其获得的实例类型一致Student2s1=newStudent2("王大伟",19);p1.print();//编译时多态性,执行Person1类的方法s1.print();//编译时多态性,执行Student2类覆盖的方法运行时多态性Person1p2=newStudent2(); //p2获得子类对象,对象与其获得的实例类型不一致p2.print(); //运行时多态,执行Student2类覆盖的方法实验内容3:编程实现面的要求:(约60min)定义一个图形的抽象类,其中包含求面积的抽象方法定义图形的子类:梯形和圆定义子类的构造方法在子类中实现求面积方法的细节三、上机实验小结:(约2min)1、字符串的定义2、子类、继承的概念3、方法重写与方法重载四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第7周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题接口的设计与应用(上机实验)教学目的与要求:1.掌握接口的定义。2.接口的应用教学重点:接口的定义与应用教学难点:学会定义接口并在程序中熟练应用接口作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:接口的定义接口的应用(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)(约20min)1.接口单元:用interface来定义,不是用class用接口可以使得处于不同层次甚至不相关的类具有相同的行为接口中定义的变量全是最终的静态变量接口中没有自身的构造方法,而且定义的其他方法全部是抽象方法接口重在对象的交互界面,而不需要了解对象所对应的类接口间接实现了多重继承,扩大了应用范围。2.声明接口[public]interface接口[extends父接口]{[public][static][final]数据类型成员变量=常量值;[public][abstract]返回值类型成员方法[(参数列表)];}例如,publicinterfacePlane1 //平面图形接口{publicabstractdoublearea(); //计算面积}接口声明中的方法全部都是抽象的,这些方法要靠使用接口的类去实现[修饰符]class类[extends父类][implements接口列表]例如:publicclassRectangle2implementsPlaneGraphics24.接口的作用接口提供方法声明与方法实现相分离的机制,使多个类之间表现出共同的行为能力。接口中声明的抽象方法约定了多个类共用的方法声明,每个实现接口的类可以根据自身的实际情况,给出抽象方法的具体实现,显然不同的类可以有不同的方法实现。实验内容:(约70min)图形接口与实现图形接口的类。长方体类继承长方形类并实现立体图形接口。设计圆柱体类和圆椎体类三、上机实验小结:(约2min)1、接口的定义和使用2、例外处理结构和方法四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第8周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题异常处理(上机实验)教学目的与要求:1.掌握异常处理的机制。2.掌握try-catch-finally结构的使用。3.能够灵活应用异常处理的方法。教学重点:try-catch-finally结构的使用教学难点:掌握并灵活应用异常处理的方法作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:异常机制的原理异常的结构异常的综合应用(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)1.例外处理机制(约30min)所有的例外收集起来,放在程序的某一段中处理;设置调用栈,装有所有的例外处理方法的指针;比较例外与处理指针的内容;目的:程序在出现任何例外的情况下仍然按计划执行。2.C语言与java语言的例外处理方式的比较。C语言处理方法:if(布尔表达式1){语句;}elseif(布尔表达式2){语句;}elseif(布尔表达式3){语句;}java的例外处理方法:throw抛出一个例外对象;catch捕获这个例外对象,并进行处理;若找不到例外处理代码,则由java缺省的例外处理程序来处理。3.try-catch-finally结构try{statements;}catch(Throwable-subclasse){statements;}finally{statements;}4.throw和throws语句的定义(约30min)throws语句:如果在一个方法中生成了一个例外,但是这一方法并不确切地知道该如何对这一异常事件进行处理,这时,一个方法就应该声明抛弃例外,使得例外对象可以从调用栈向后传播,直到有合适的方法捕获它为止。定义格式:返回类型方法名([参数列表])throws例外列表throw语句:抛出例外就是产生例外对象的过程,首先要生成例外对象,例外或者由虚拟机生成,或者由某些类的实例生成,也可以在程序中生成。在方法中,抛出例外对象是通过throw语句实现的。5.例外方法getMessage():获得细节信息;getLocalizedMessage():同上,但所得的消息根据特定语系调整过来;toString():返回一个由特定异常类名和错误信息组成的字符串;printStackTrace():显示将异常引至标准错误流的方法调用序列。6.使用例外类的建议对于运行时例外,如果不能预测它何时发生,程序可以不作处理,而是让java虚拟机去处理。在自定义例外类时,如果它所对应的例外事件通常是在运行时产生的,可以把它定义为运行时例外,否则定义为非运行时例外。如果在程序中可以预知运行时例外可能发生的时间和地点,则应该在程序中进行处理,而不是简单地把它交给Java运行时系统。实验内容:为例3.3的Date2类定义一个异常类,当set()方法的3个整型参数不能构成一个合法日期值时,抛出异常;Date2类中的其他方法将捕获并处理该异常。设计自己的例外类,并编程实现。三、上机实验小结:(约2min)1、接口的定义和使用2、例外处理结构和方法四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第9周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题对话框设计(上机实验)教学目的与要求:1.掌握用户界面的设计2.掌握组件的使用和布局管理的设计。3.学会使用对话框。教学重点:组件和布局管理对话框的设计与使用教学难点:学会设计自己的GUI程序作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:组件和布局管理的使用。对话框的使用(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)实验内容:(约30min)练习1:在文本框中输入数据,若输入数值型数据,求平方;否则显示警告对话框importjava.awt.event.*;importjava.awt.*;importjavax.swing.JOptionPane;classDwindowextendsFrameimplementsActionListener{ TextFieldinputNumber; TextAreashow; Dwindow(Strings){//组件生成和布局设置 super(s); inputNumber=newTextField(22);inputNumber.addActionListener(this); show=newTextArea(); add(inputNumber,BorderLayout.NORTH); add(show,BorderLayout.CENTER); setBounds(60,60,300,300);setVisible(true); validate(); publicvoidactionPerformed(ActionEvente){//动作执行 booleanboo=false; if(e.getSource()==inputNumber){ Strings=inputNumber.getText(); chara[]=s.toCharArray(); for(inti=0;i<a.length;i++){ if(!(Character.isDigit((a[i])))) boo=true; } if(boo==true){JOptionPane.showMessageDialog(this,"您输入了非法字符","警告对话框",JOptionPane.WARNING_MESSAGE); inputNumber.setText(null); } elseif(boo==false){ intnumber=Integer.parseInt(s); show.append("\n"+number+"平方"+(number*number)); } } }}练习2:(约30min)在文本框中输入数据,在保存前通过确认对话框确认输入是否正确若输入无误,则保存到文本区中publicvoidactionPerformed(ActionEvente){ Strings=inputNumber.getText(); intn=JOptionPane.showConfirmDialog(this,"确认正确吗","确认对话框",JOptionPane.YES_NO_OPTION); if(n==JOptionPane.YES_OPTION){ show.append("\n"+s); } elseif(n==JOptionPane.NO_OPTION){inputNumber.setText(null); } }练习3:(约30min)点击按钮,弹出颜色对话框,根据所选的颜色改变按钮的色彩publicvoidactionPerformed(ActionEvente){ColornewColor=JColorChooser.showDialog(this,"调色板",button.getBackground());button.setBackground(newColor);}三、上机实验小结:(约2min)组件和布局管理的使用。对话框的使用四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第10周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题线程的使用(上机实验)教学目的与要求:1.掌握线程的概念、声明方法和线程的创建2.掌握线程状态转换的方法3.学会使用多线程完成动画效果教学重点:线程的概念、声明方法和线程的创建线程状态转换的方法教学难点:学会使用多线程完成动画效果作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:线程的声明和创建线程转换方法(约5min)注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)实验内容:(约30min)练习1:建立一个按钮,按钮不断变大classMywinextendsFrameimplementsRunnable{ Buttonb=newButton("ok");intx=5; Threadbird; Mywin(){ bird=newThread(this);//创建一个新的线程,窗口作为目标对象 bird.start(); } publicvoidrun(){ while(true){ x=x+1; if(x>100)x=5; b.setBounds(40,40,x,x); try{bird.sleep(200); } catch(InterruptedExceptione){} } }}练习2:(约30min)滚动字幕publicclassGundongextendsAppletimplementsActionListener,Runnable{ publicvoidstart(){ boo=false; try{ Scrollwords.start(); } catch(Exceptione){} } publicvoidrun(){ while(true){ x=x+5; if(x>600)x=0; repaint(); try{ Scrollwords.sleep(80); } catch(InterruptedExceptione){} if(boo){return;} } } }}练习3:(约30min)找零class售票员{ int五元钱的个数=2,二十元钱的个数=0;Strings=null; publicsynchronizedvoid售票规则(intmoney){ if(money==5){ 五元钱的个数=五元钱的个数+1; s="给您入场券您的钱正好"; Change.text.append("\n"+s); } elseif(money==20){ while(五元钱的个数<3){ try{wait(); }catch(InterruptedExceptione){} } 五元钱的个数=五元钱的个数-3; 二十元钱的个数=二十元钱的个数+1; s="给您入场券您给我20,找您15元"; Change.text.append("\n"+s); } notifyAll(); }}三、上机实验小结:(约2min)1、线程的声明和创建2、线程转换方法四、上机实验思考题与作业:(约3min)见实验内容
课时授课计划2016-2017学年第2学期第11周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题输入输出流(上机实验)教学目的与要求:1.了解流的概念。2.掌握各种流的方法。教学重点:各种流的方法的应用教学难点:各种流的方法的应用作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:字节输入输出流的应用(约5min)字符输入输出流的应用注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)1.FileInputStream构造方法:(约45min)publicFileInputStream(\o"java.io中的类"File
file)throwsFileNotFoundException:通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的File对象file指定。publicFileInputStream(\o"java.lang中的类"String
name)throwsFileNotFoundException:通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名name指定。2.FileOutputStream构造方法:publicFileOutputStream(\o"java.io中的类"File
file)throwsFileNotFoundException:创建一个向指定File对象表示的文件中写入数据的文件输出流。publicFileOutputStream(\o"java.io中的类"File
file,boolean
append)throwsFileNotFoundException:创建一个向指定File对象表示的文件中写入数据的文件输出流。append-如果为true,则将字节写入文件末尾处,而不是写入文件开始处publicFileOutputStream(\o"java.lang中的类"String
name)throwsFileNotFoundException:创建一个向具有指定名称的文件中写入数据的输出文件流。publicFileOutputStream(\o"java.lang中的类"String
name,boolean
append)throwsFileNotFoundException:创建一个向具有指定name的文件中写入数据的输出文件流。实验内容:使用字节流完成将一个文件拷贝到另一个文件中packagech09;importjava.io.*;classFileCopy{ publicstaticvoidmain(Stringargs[])throwsException{ FileInputStreaminput=newFileInputStream("d:/myjava.txt"); FileOutputStreamoutput=newFileOutputStream("d:/java.txt"); intsize=input.available(); System.out.println("可输入字节数为"+size); for(inti=0;i<size;i++){ output.write(input.read()); } input.close(); output.close(); }}4.FileReader构造方法有两种形式:(约45min)FileReader(StringfilePath)FileReader(FilefileObjectName)抛出\o"java.io中的类"FileNotFoundException:如果指定文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取。5.FileWriter构造函数有三种形式:FileWriter(StringfilePath);FileWriter(FilefileObjectName)FileWriter(StringfilePath,booleanappend)FileWriter的创建不依赖于文件是否存在。如果试图打开一个只读文件,会引发一个IOException异常。实验内容:使用字符流完成将一个文件拷贝到另一个文件中packagech09;importjava.io.*;classFileCopy1{ publicstaticvoidmain(Stringargs[])throwsException{ FileReaderfr=newFileReader("d:/java1.txt"); FileWriterfw=newFileWriter("d:/java2.txt"); intch=fr.read(); while(ch!=-1){ fw.write(ch); ch=fr.read(); } fr.close(); fw.close(); }}三、上机实验小结:(约2min)1、字节流的方法及应用2、字符流的方法及应用四、上机实验思考题与作业:(约3min)流的方向问题
课时授课计划2016-2017学年第2学期第12周授课日期月日星期月日星期月日星期月日星期月日星期班级基本课题文件操作(上机实验)教学目的与要求:1.了解文件的概念。2.掌握文件类中的方法。教学重点:文件操作的方法及应用教学难点:灵活使用文件操作的相关方法作业及参考书:《实用java程序设计教程》教具:实验用计算机等。课堂类型:课堂上机实验教学过程:(请见下页)上机实验指导过程:一、上机实验任务安排:文件操作的方法(约5min)文件操作方法的应用注意:已经在先前课堂教学做了具体安排。二、上机实验教学进程设计:(具体指导过程)1.File类常用方法:(约30min)canRead():可读否?可读返回true。canWrite():可写否?可写返回true。delete():删除File类对象指向的文件,删除成功返回true。exists():File对象存在吗?存在返回true。getAbsolutePath():返回文件的绝对路径,返回值为String类型。getName():得到文件的名称,返回值为String。getParent():得到文件的父目录名称,返回值String。length():返回文件长度(字节数),返回值longisDirectory():是目录吗?是,返回true。isFile():是文件吗?是,返回true。isHidden():是隐含文件吗?是,返回true。lastModified():得到文件最后一次修改的时间,返回值是long,是从1970年午夜至文件最后一次修改时间为止相隔的毫秒数。renameTo(FilenewName):重命名文件。成功返回true。如果试图对文件从一个目录转到另一个目录,或使用了一个已经存在的文件名则返回false。setReadOnly():是只读文件吗?返回boolean类型的值。booleanmkdir()创建一个新目录booleancreateNewFile()创建一个新的空文件booleandelete()删除一个空目录或文件booleanrenameTo(File)目录或文件改名实验内容:1.创建一个“根目录”九个子目录,并在每个子目录中创建一个空文件。(约60min)packageIO;importjava.io.*;publicclassCreateFile{ publicstaticvoidmain(Stringargs[]){ Fileroot=newFile("d:\\Myjava"); Filedir[]=newFile[9]; Filefile[]=newFile[9]; if(!root.exists()){ root.mkdir(); for(inti=0;i<9;i++){ dir[i]=newFile(root,"Dir"+String.valueOf(i)); dir[i].mkdir(); file[i]=newFile(dir[i],"file"+String.valueOf(i)+".txt"); try{ file[i].createNewFile(); }catch(IOExceptione){ e.printStackTrace(); } } } }}2.删除上例建立的所有子目录和文件,留下“根目录”并改名。packageIO;importjava.io.*;publicclassDeleteFile{ publicstaticvoidmain(Stringargs[]){ Fileroot=newFile("d:\\Myjava"); Filedir[]=newFile[9]; Filefile[]=newFile[9]; for(inti=0;i<9;i++){ dir[i]=newFile(root,"Dir"+String.valueOf(i)); file[i]=newFile(dir[i],"file"+String.valueOf(i)+".txt"); file[i].delete(); dir[i].delete(); } Filer=newFile("d:\\java2"); root.renameTo(r); }}三、上机实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常平镇2026年第一季度会计主管公开招聘备考题库及1套完整答案详解
- 2026年西安交通大学继续教育学院招聘备考题库及完整答案详解
- 2026年尤溪县农业农村局公开招聘动物检疫协检员的备考题库及完整答案详解1套
- 2026年中山市国资委党委党建指导员选聘备考题库及答案详解(新)
- 酒店合作管理协议合同书
- 2026年天津市海河产业基金管理有限公司高级管理人员公开招聘备考题库及完整答案详解1套
- 2026年临海市回浦实验中学代课教师招聘备考题库及参考答案详解一套
- 2026年钦州市灵山县赴高校招聘教师135人备考题库完整答案详解
- 2026年台州市正立公证处公开招聘编制外合同工备考题库及一套参考答案详解
- 康复护理姑息治疗护理
- 维修班组长设备故障应急处理流程
- 2026年湖南司法警官职业学院单招职业技能测试题库及完整答案详解1套
- 兔年抽红包课件
- DB31∕T 634-2020 电动乘用车运行安全和维护保障技术规范
- 纪念长津湖战役胜利75周年课件
- 医师证租借协议书
- 分割林地协议书范本
- 医学类药学专业毕业论文
- 中国与东盟贸易合作深化路径与实践
- 烟酒店委托合同范本
- 2025-2026学年上海市浦东新区九年级(上)期中语文试卷
评论
0/150
提交评论