Java oop 学习总结.docx_第1页
Java oop 学习总结.docx_第2页
Java oop 学习总结.docx_第3页
Java oop 学习总结.docx_第4页
Java oop 学习总结.docx_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java_OOP学习总结Java_OOP学习总结重要知识点回顾张海东2010-3-1第一章:面向对象特征 封装与继承1、面向对象的有3大基本特征:封装、继承和多态。封装定义:对外隐藏特征和行为的内部实现细节。好处:有利于程序的安全。A, 怎样来实现使用private修饰符私有化类的属性和方法语法:class Person Private int salary; private String getInfo() 注意:封装后的属性和方法只有在当前类中才可以使用,其他类是无法直接访问一个类中的私有的属性和方法的B, 怎样访问被封装的属性通过提供属性对应的getter/setter方法只有getter方法,无setter方法的属性为只读属性只有setter方法,无getter方法的属性为只读属性语法:class Person private String name=”tom”; public int age=0; public String getName() return name; public void eat() C, 调用被封装的属性提供一个非私有化的方法调用被封装的方法。示例:class Person private String name = tom ; public int age = 0; private void salaryInfo() System.out.println( salary is secret ); public void getSalaryInfo() salaryInfo(); 1, 访问修饰符Java中访问修饰符的作用时候说明被声明的内容(类,属性和方法,构造方法)的访问权限。位置privateprotected默认Public同一个类是是是是同一个包的类否是是是不同包的子类否是否是不同包且不是子类 否否否是2, 继承笼统地说,继承是将程序中共同的特征和行为抽取出来建立一个类,使其他类可以沿用此类中的属性和方法。这样不仅可以减少程序中的重复代码,而且易于程序扩展换句话:一个类自动拥有另一个类某些属性和方法的方式。优点:减少代码量,易于扩展。继承的实现:1.建立父类 class Person public String name = “person”; public void getInfo() System.out.println(“this is a person”); 2.使用extends建立子父类继承关系 class Child extends Person public int age; public void play() 3,创建子类对象访问父类的属性和方法 class Demo public static void main(String args) Child child = new Child(); System.out.println(); child.getInfo(); 注意:1,Java不存在多继承,即一个子类不允许有多个父类,例如:class Child extends Person,Car 2,继承具有传递性,即一个类可以即是子类,同时又是父类3, object在Java中,Object是所有类的父类,所有的Java类都直接或间接地继承了java.lang.Object类定义一个类时,没有使用extends关键字,那么该类实际上隐式继承了Object 方法描述clone() 创建并返回此对象的一个副本equals(Objectobj) 指示其他某个对象是否与此对象“相等”hashCode() 返回该对象的哈希码值 notifyAll() 唤醒在此对象监视器上等待的所有线程 toString() 返回该对象的字符串表示 wait() 在其他线程调用此对象的 notify()方法或 notifyAll()方法前,导致当前线程等待6.final在Java中final是修饰符,可以修饰类、方法和属性 final修饰的类是最终类,其修饰方法为最终方法,final修饰的变量是常量;最终类不可以被继承,最终方法不可以被重写(第2章讲解),常量必须赋初值同时不允许被修改。示例:final class Basepublic void getInfo()System.out.println(this is super class);public class Student extends Base /最终类不允许被继承 private String name; 7,this 与 super如果子类中定义了与父类中同名的属性和方法,此时要调用子类中的属性和方法需要使用this要调用父类的属性和方法使用superThis :表示当前对象本身。Super:表示对父类或者超类的使用注意:A, 每个子类的构造方法中首先会隐含的调用super()然后执行构造方法中的代码。B, Super()和this()均需要放在构造方法内第一行。C, This和super不能同时出现在一个构造函数中。D, This()和super()均不可以在static环境中使用。包括static方法、static语块中。E、 当实例化子类是先调用父类构造函数,再调用子类的构造函数。第二章:多态、抽象类、接口(一)多态1、多态是指一个对外接口,多种实现方式(同一个方法给出不同的实现)2、方式:重载(overload)和重写(override)3、方法重载程序运行时根据其参数的数量与类型调用对应的方法实现不同的功能 特点:A、同一个类中; B、方法名相同; C、参数不同(个数,类型,位置) 示例:public class Book String press; String bookName; public void printInfo(String bookName) System.out.println(“书籍的名称是:”+bookName); public String printInfo() return “书籍的名称是javascript”; 4、注意 (1)方法重载应用在同一个类中; (2)构造方法也和普通方法一样也可以重载; (3)方法的返回类型及方法的访问修饰符不作为区分方法重载的条件5、方法重写重写就是子类对父类某个方法进行重新定义 特点:A、发生在继承中; B、子类与父类的方法名、返回类型、参数列表相同; C、子类方法的访问范围不能比父类小(大于等于父类); 优点:方法重写提高了程序的可扩展性和可维护性 示例: class Book protected float getPrice() return 50; public class ComputerBook extends Book /getPrice方法重写了父类Book中的getPrice方法 public float getPrcie() /子类方法的访问范围不能比父类小 return 65; 6重载和重写的区别重载(overload)重写(override)方法的名称相同,参数个数,类型不同 方法名称,参数列表,返回类型完全与父类一致 方法的访问范围不要求 子类中提供的重写方法的范围不能比父类中的小 应用在一个类的内部 应用在子父类继承关系中 (二)抽象类1、定义:抽象类是一个类的部分实现(普通方法实现,有方法体,抽象方法不实现,没有方法体)在Java中使用abstract 修饰的类称为抽象类,用abstract修饰的方法为抽象方法。2、目的:方便开发人员根据抽象类的格式来修改和创建新类,作用类似于“模板”3、特点:A、抽象类是特殊的类(用abstract修饰),用于继承(抽象类中的方 法不能用private、final、static修饰) B、抽象类不一定有抽象方法,但有抽象方法的类一定是抽象类; C、抽象类不能被实例化,有构造方法4、定义抽象类 Abstract class Book Public abstract String getAuthor();/抽象方法5、注意A、抽象类的类如果没有实现全部的抽象方法,则该子类也是一个抽象类B、如果父类有抽象方法,在子类中就必须对抽象方法进行重写6、抽象类使用时机u 如果几个类具备相同的行为和特征,可以抽取这些共同的行为和特征形成抽象类,抽象类是专门用于继承的(三)接口(特殊的类) 1、定义:接口就是某个事物对外提供的一些功能的申明(方法的申明,不允许方法的实现)2、优点:可以利用接口实现多态,同时接口也弥补了Java单一继承的弱点(接口可以多继承,一个接口可以继承多个接口)3、特点 A、接口是一种最高的抽象,变相实现多继承; B、不允许有方法的实现,即全部为抽象方法4、注意u 使用interface关键字定义接口u 一般使用接口声明方法或常量,接口中的方法只能是声明,不能是具体的实现u 接口中可以定义方法和属性,接口中的属性默认是public、static、final修饰的,即接口中的属性都是静态常量,接口中的方法默认是用public、abstract修饰的,即接口中的方法都是抽象方法u 接口没有构造方法u 接口中的方法和属性只能被声明为public(默认即为public)u 抽象类和接口有助于实现多态,接口本身可以实现多继承u 接口可作为参数传递5、示例6、建立类实现接口(implements) class 类名 implements 接口名 接口继承接口用extends;类实现接口用implements7、抽象类和接口的区别抽象类接口抽象类有构造方法接口没有构造方法抽象类不允许多继承接口允许多继承有抽象方法的类一定是抽象类,抽象类不一定有抽象方法接口中的属性是用public,static,final修饰的,接口的方法是用public,abstract修饰的第三章: 异常处理一、异常概述1、定义:程序运行过程中产生的错误2、异常处理防止程序出现意外终止。3.异常的分类:4、注意:(A)Throwable是所有异常的父类,Error一般值得是jvm错误,Exception类是非致命性错误5、程序中的异常类型异常类说明NullPointerException访问Null对象的方法 IllegalArgumentException接收非法参数 ClassNotFoundException不能加载所需要的类 ArithmeticException算术运算异常,如除数为零 ArrayIndexOutOfBoundsException数组小于或大于数组的长度 InputMisMatchException接收的数据类型与实际输入的类型不匹配 NumberFormatException格式化数据异常 IOException文件读写异常二、异常处理1、在java中处理异常主要有两种方式(1)使用try-catch-finally(2)使用throws和throw2、try-catch-finallyu 程序中的一段代码可能会引发多种类型的异常,此时可以在一个try语句块后面跟多个catch语句块,分别处理不同的异常u 程序运行时,系统会从上至下分别对每个catch语句块处理的异常进行检测,并执行第一个与异常类型匹配的catch语句。执行其中的一条catch语句后,后面的catch语句都将被忽略 u 2-1:特别注意:(1异常处理时捕获范围小的异常必须放在捕获大的异常之前,否则程序在编译时会出现错误 (2)、如果try语句块中有Return,先运行finally语句块中的代码,在运行Return(finally语句块中的代码总会执行)3、throw和throwsThrow使用格式:throw 异常类的实例示例:public class ExceptionDemo public static void main(String args) String ID = args0.trim(); if(ID.length()!=18) throw new IllegalArgumentException(非法的身份证编号); else System.out.println(身份证编号是:+ID); 4、throws通过throws声明某个方法可能抛出的异常,使用throws声明的方法表示此方法不处理异常,而是交给方法的调用处进行处理。使用格式是:返回类型 方法名称(参数列表) throws 异常类 5、throw与throws比较throwthrows抛出一个具体的异常类实例 声明一个方法可能抛出的所有异常类型 需要用户自己捕获相关的异常 不用显式捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法 throw在方法内部使用throws在方法名后面声明三、自定义异常1、定义:是由开发人员根据需求开发的异常类2、作用:方便开发人员根据异常信息快速定位异常发生的位置且更加详细的描述异常信息3、步骤:A、创建一个类继承Exception B、在当前创建的类中定义有参的构造方法,并在构造方法中调用父类构造方法 C、在程序中使用自定义异常类 4、示例Public class MyException extends Exception() /可以继承任何异常类 Public MyException (String msg) Super(msg) /调用父类构造方法 注意:(1)一个方法被重写时,重写它的方法必须抛出相同的异常类或异常子类 (2)如果父类方法抛出多个异常类,则重写方法必须抛出父类方法异常类的一个子集,即不能抛出新的异常 第四章:log4j、装箱、拆箱、反射一、log4j1、定义:记录程序运行过程中的日志2、组件:日志信息的优先级、日志信息的输出目的地、日志信息的输出格式3、log4j的优先级(从高至低):error、warn、info、debug4、优点、二、装箱和拆箱1、定义:基本数据类型转换成包装类型称为装箱,反之称之为拆箱2、基本数据类型包装数据类型int Integer char Character short Shorlong Long float Float double Double boolean Boolean byte Byte 3、自动装箱(1)在JDK5.0以前版本要使用以下语句才能将int包装成Integer. Integer integer = new Integer(20); /手工装箱(2)在JDK5.0之后提供了自动装箱的功能,如下所示: Integer integer = 20;/自动装箱4、 自动拆箱(1)在JDK5.0以前版本要使用以下语句才能将Integer转换成int Integer integer = new Integer(20); int num= Value(); /手工拆箱(2)在JDK5.0之后提供了自动拆箱的功能,如下所示: int num2 = integer;/自动拆箱注意:自动装箱、自动拆箱是指基本数据类型与其对应的包装类间的自动装换,如果向基本数据的包装类对象复制,类型一定要匹配三、反射1、定义:反射指的是程序在运行时能够获取自身的信息的机制。例如对象在运行时能够获取自己有哪些方法和属性的信息 2、通过Oject类的getClass() 或者Class.forName()方法可以取得每一个类对应的Class对象;之后可以通过Class对象获取类的基本信息3、反射的应用方法描述getName 获取当前类的名称 getSuperClass 获取当前类的父类 getConstructors 获取当前类中全部的构造方法 getMethods 获取当前类中所有方法的集合 getMethod 根据提供的方法名获取对应的Method对象 getDeclaredFields 获取当前类中所有定义的属性 getInterfaces 获取当前类所实现的全部接口 getPackage 获取当前类所属的包 4、示例Class c=class.forName(“包名.类名”); /加载某一个类型到内存中Object obj=c.newInstance(); /实例化对象Method method =C.getMethod(“方法名”,“参数”); /查找方法method.invoke(obj); /调用方法第五章:集合、泛型一、集合(1)定义:java中的集合是指一系列存储数据的接口和类,这些类和接口都位于java.util包中 (2)原因(为什么使用集合框架):a、数组的大小是固定的;b、数组保存数据类型是单一的;c、数组操作数据比较复杂(3)分类:主要有Collection、Map两个接口组成。(4)方法Collection接口是集合中最大的接口(与Map接口是等级并列关系)返回类型方法名称描述boolean add(Object o)在集合末尾添加元素intsize()返回集合列表中元素个数Objectget(int index)返回指定索引位置的元素,索引从0开始booleanremoveAll(Collection col)删除集合中的所有元素booleancontains(Object o)判断集合中是否存在指定的元素booleanremove(Object o)从集合中删除元素Objectremove(int index)从集合中删除指定索引位置的元素 voidclear()清除集合中的所有元素Iteratoriterator()为Iterator接口实列化(5)List接口A定义:是对父接口中方法的扩展(Collection),可以保存重复元素;存储顺序有序(怎么放怎么存储)B、List接口的常用子类 常用子类有:ArrayList、LinkedList(同时实现List和Queue接口)、Vector-1、ArrayList类 A、 ArrayList用法类似于数组,其容量可按需要动态调整(动态数组)B、实例化:List list=new ArrayList();/list接口引用指向实现类的实例C、List接口中的常用方法:返回类型方法名称描述booleanadd(Object o)在集合末尾添加元素int size()返回集合列表中元素个数Objectget(int index)返回指定索引位置的元素,索引从0开始booleanremoveAll(Collection col)删除集合中的所有元素booleancontains(Object o)判断集合中是否存在指定元素booleanremove(Object o)从集合中删除元素Objectremove(int index)从集合中删除指定索引位置的元素-2、LinkedListA、Linkedlist表示链表的操作类(增、删、改),同时实现了List和Queue接口B、特点:LinkedList中的 存放元素按照先进先出的方式排序,LinkedList还提供自己 特有的方法:返回类型方法名称描述voidaddFirst()将指定元素插入此列表的开头voidaddLast()将指定元素添加到此列表的结尾ObjectremoveFirst()移除并返回此列表的第一个元素ObjectremoveLast()移除并返回此列表的最后一个元素booleanadd(Object o)将指定的元素添加到列表中-3、VectorA、特点:Vector类能够实现可增长的对象数组,其大小可以根据需要增大或缩小,默认增长是原来的一倍,而ArrayList是原来的一半B、ArrayList和Vector的区别ArrayList Vector当元素存储达到指定容量时,自动增长为原容量的二分之一当元素存储达到指定容量时,原容量自动增长一倍非线程安全且性能更高线程安全但性能较低-4、StackA、Stack(栈)继承了Vector,对Vector进行扩展,采用先进后出的数据存储方式,每一个栈都包含一个栈项,每次出栈时是将栈项的数据取出B、Stack定义的主要方法返回类型方法名称描述booleanempty()判断栈是否为空Objectpeek()查看栈顶,但不删除Objectpop()出栈,同时删除(取数据)Objectpush(Object o)入栈(存数据)Objectsearch(Object o)从栈中查找元素-5经验 如果涉及到堆栈、队列操作,应该考虑使用Vector,对于需要快速删除、插入元素的场合,应该使用LinkedList,如果需要快速随机访问元素,应该使用ArrayList (6)Set接口 A、定义:Set接口对Collection接口进行了扩展,存储顺序无序,但不可以保存重复的数据。(set接口中的数据不能通过下标去访问)B、常用子类 -1、HashSet A、特点:HashSet类接口不允许存放重复的数据,采用散列方式存储元素,元素的存储是无序的(重复元素只保存一个)B、set接口 中没有提供根据集合索引获取对应值的方法,需要用Iterator迭代器实现遍历Iterator迭代器的主要方法返回类型方法描述booleanhasNext()如果有元素可迭代Objectnext()返回迭代的下一个元素C、示例Set set=new HashSet();Iterator iterator=set.iterator();/调用set.Iterator方法返回对set中的元素进行迭代的迭代器While(iterator.hasNext()/iterator.hasNext是判断迭代器中是否有元素可迭代 Sysout.out.println(iterator.next();/iterator.next()是返回迭代器的下一个元素 7、Map接口A、Map接口常用的方法返回类型 方法 描述 Object get(Object key) 根据key取得valueObject put(Obejct k,Object v) 向集合中加入元素void clear() 清除Map集合boolean isEmpty() 判断集合是否为空boolean containsKey(Object object) 判断指定的key是否存在boolean containsValue(Object value) 判断指定的value是否存在Set keySet() Map中所有的key的集合Object remove(Object key) 根据key删除对应的valueCollection values() 取出全部的valueint size() 获得集合的长度B、Map接口特点:(1) 以键值对形式存储数据 (2)不允许出现重复键 (3) 元素存储顺序无序C、Map接口的常用子类有:HashMap、Hashtable - HashMap类(1)特点:采用键值对形式存储元素,元素存储后是无序的,HashMap中不允许出现重复键,但可以出现空键和空值 (2)注意:a、HashMap中的值可以通过键查询值,但不可以通过值查询键 b、要么对键进行遍历,或对值进行遍历D、HashMap和Hashtable区别序号HashMapHashtable1允许出现空值、空键不允许出现空值、空键2线程异步、效率较高线程同步、效率较低3继承自AbstractMap继承自Dictionary二、泛型1、定义:Java中的泛型是指向List中添加统一的数据时,不会出现类型转换无法确定的问题2、概述:泛型在建立对象时不指定类中属性的具体类型,而是在声明及实例化对象时由外部指定。泛型可以提高数据安全性3、泛型对象定义:(接口)类名称 对象 名称=new 集合类名称 ();4、作用:保证集合数据类型的安全5、注意:(1)向泛型集合中添加元素时,元素为泛型指定的类型,也可以是泛型的子类第七章:JDBC高级应用一、可滚动结果集1、分类:可滚动结果集分为只读滚动结果集和读写滚动结果集.使用可滚动的结果集,只需在创建操作对象时加入参数即可 A、只读性滚动结果集:只能获取任意位置的数据,不可以更新2、语法:con.prepareStatement(sql,int resultSetType,int resultSetConcurrency)3、resultType取值说明结果集类型(resultType取值)说明Fetch_forward正向移动或处理结果集中的行,允许更新结果集但不能反映到表中,表数据修改后也不能反映到结果集中Fetch_reverse逆向处理结果集中的行,不允许更新结果集,表数据修改后也不能反映到结果集中Type_forward_only结果集只向前移动,不允许对结果集进行更新,表数据修改后不能反映到结果集中Type_scroll_insensitive结果集可任意滚动,不允许修改结果集,表修改后不能反映到结果集中Type_scroll_sensitive结果集可任意滚动,允许修改结果集并反映到表中,表数据修改后可反映到结果集中4、resultSetConcurrency取值说明并发类型(resultSetConcurrency取值)说明Concur_read_only不允许修改结果集Concur_updatable允许修改结果集5说明:在使用连接对象调用prepareStatement()方法时,默认的结果集Type_forward_only,并发类型为concur_read_only6、使用可滚动结果集定位记录ResultSet常用方法返回类型方法名称描述booleanAbsolute(int row)移动到此ResultSet给定行编号的记录上booleanFirst()移动到此ResultSet的第一行booleanLast()移动到此ResultSet的最后一行booleanNext()从当前位置向前移一行booleanPrevious()移动到此ResultSet对象的上一行booleanRelative(int row)按相对行数(正或负)移动7、示例:con = DBManager.getCon();String sql=select * from student; pst=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); rst = pst.executeQuery();rst.absolute(3);/定位至结果集第三条记录 System.out.println(rst.getString(2);rst.previous();/定位至当前记录的上一条记录 System.out.println(rst.getString(2);rst.next();/定位至当前记录的下一条记录 System.out.println(rst.getString(2);rst.first();/定位至第一条记录 System.out.println(rst.getString(2);rst.last();/定位至最后一条记录 System.out.println(rst.getString(2);8、使用结果集操作数据ResultSet操作数据常用方法返回类型方法名称描述VoidmoveToInsertRow()移动到待插入行(组后一行)VoiddeleteRow()从ResultSet对象删除当前行VoidupdateString(String name,String x)用String值更新当前行指定列VoidupdateInt(String columnLabel,int x)用int值更新当前行指定列VoidupdateRow()用ResultSet对象的当前行的新内容更新底层数据9、示例A、使用结果集添加数据rst.moveToInsertRow();/移动到可以插入的数据列 rst.updateString(“name”, “0916”);/设置要插入字段的信息 rst.updateString(“majoy”, “法律”);/设置要插入字段的信息 rst.insertRow();/插入数据B、使用结果集修改数据 rst.absolute(3);/将结果集指针定位至第三条记录 rst.updateString(“majoy”, “英语”);/更新第三条记录字段的信息 rst.updateRow();/更新数据C、使用结果集删除数据 rst.absolute(13);/定位至结果集中的第13条记录 rst.deleteRow();/删除第13条记录二、CallbaleStatement1、简介:CallableStatement和PreparedStatement一样也是Statement接口的子接口, 其主要作用是调用存储过程(CallableStatement继承PreparedStatement接口)2、CallbaleStatement的常用方法 方法功能描述getString(String parameterName)获取过程返回的字符串信息getInt(int parameterIndex)根据编号获取过程返回值registerOutParameter(String parameterName,int sqlType)为过程输出参数设置值3、CallbaleStatement的使用语法:con.prepareCall(“call 存储过程名称()”)A、调用连接对象的prepareCall方法创建CallbaleStatement对象,并在prepareCall 方法中设置固定格式的参数B、若存储过程有输入、输出或输入输出参数,则必须为参数赋值C、调用CallbaleStatement的execute()方法执行存储过程4注意prepareCall方法中的参数格式: call 存储过程名称()如果存储过程带有参数需要在括号中加问号,并为参数赋值call 存储过程名称(?,?),有两个问号表示此存储过程有两个参数如果存储过程有输出参数应调用cst.registerOutParameter()方法注册输出参数.调用在return语句的存储过程时,需要在call语句前面使用占位符获取return语句返回的信息?=call 存储过程名称()三、JDBC事物1、定义:在实际应用中如要求多条SQL语句做为一个整体执行,即要么同时执行成功,同时执行失败,如何实现SQL语句整体执行的一致性2、作用:事务是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问,事务可以确保数据操作的一致性和完整性 3、分类4、JDBC事物步骤A、取消Connection中设置的自动提交方式 con.setAutoCommit(false)B、执行完每条SQL语句后,提交事务mit()C、在执行SQL语句过程中发生异常,回滚事务con.rollback()5、示例try con = DBManager.getCon(); con.setAutoCommit(false);/取消自动取消方式 pst = con.prepareStatement(insert into stuclass values(0924,英语); pst.execute(); pst = con.prepareStatement(insert into stuclass values(0925,法律); pst.execute(); mit();/提交事务 catch(Exception e) try con.rollback();/回滚事务 catch(Exception ex) ex.printStackTrace(); e.printStackTrace();第八章:Java输入/输出一、File类1、概述:File类是整个IO包中与文件本身相关的类2、File类操作目录和文件的方法和常量方法或常量类型描述String separator常量文件路径分隔符 public File(String filename)构造方法创建File类对象并传入完整路径public boolean createNewFile()方法创建新文件public boolean delete()方法删除文件public boolean exists()方法判断文件是否存在public boolean isDirectory()方法判断给定的路径是否为目录public long length()方法返回文件的大小public String list()方法列出指定目录的全部内容,只列出名称public File listFiles()方法列出指定目录的全部内容public boolean mkdir()方法创建目录public boolean renameTo(File dest)方法为已有的文件重命名3、示例(使用递归算法遍历F盘下的所有文件)public static void main(String args) File file = new File(F:/);File filelist = file.listFiles();for (int i = 0; i filelist.length; i+) if (filelisti.isDirectory() / 如果是文件夹readFile(filelisti); else / 如果是文件则打印文件名System.out.println(filelisti.getName();public static void readFile(File file) File filelist = file.listFiles();for (int i = 0; i filelist.length; i+) if (filelisti.isDirectory() / 如果是文件夹,调用此方法readFile(filelisti); else / 如果是文件则打印文件名System.out.println(filelisti.getName();4、RandomAccessFile类读写文件(1)、概述:RandomAccessFile是java中功能最丰富的文件访问类,提供了多种文件访问方法。(2)、RandomAccessFile类的常用方法 方法类型描述public RandomAccessFile(File f,String mode)构造方法接收File类,并设置r为只读、w为只写、rw为读写模式 public RandomAccessFile(String name,String mode)构造方法输入固定的文件路径并设置模式 public int read(byte b)方法将内容读取到byte数组中public final byte readByte()方法读取一个字节public final int readInt()方法从文件中读取整型数据public void seek(long pos)方法设置读指针的位置public final void writeBytes(String s)方法将一个字符串写入文件中public final void writeInt(int v)方法将一个整型数据写入文件public int skip

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论