`
windy2coast
  • 浏览: 55143 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java笔记七

    博客分类:
  • Java
阅读更多
java 代码
  1. /*RandomAccessFile  
  2. 此类的实例支持对随机存取文件的读取和写入。随机存取文件的行为类似存储在  
  3. 文件系统中的一个大型字节数组。存在指向该隐含数组的光标或索引,称为文件指针;  
  4. 输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。  
  5. 如果随机存取文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指  
  6. 针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末  
  7. 尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer 方法  
  8. 读取,并通过 seek 方法设置。   
  9.  
  10. 通常,如果此类中的所有读取例程在读取所需数量的字节之前已到达文件末尾,  
  11. 则抛出 EOFException(是一种 IOException)。如果由于某些原因无法读  
  12. 取任何字节,而不是在读取所需数量的字节之前已到达文件末尾,则抛出  
  13.  IOException,而不是 EOFException。需要特别指出的是,如果流已被关闭,  
  14.  则可能抛出 IOException。   
  15.  
  16.  */  
  17. import java.io.*;   
  18. public class RandomFileTest {   
  19.     public static void main(String[] args) throws Exception {   
  20.         Student st1 =new Student(1,"zhangsan",10.5);   
  21.         Student st2 =new Student(1,"lisi",20.5);   
  22.         Student st3 =new Student(3,"wangwu",30.5);   
  23.         RandomAccessFile raf = new RandomAccessFile("student.txt","rw");//读写方式打开   
  24.         st1.writeStudent(raf);//将Student st1写入文件   
  25.         st2.writeStudent(raf);   
  26.         st3.writeStudent(raf);   
  27.        
  28.         Student s = new Student();   
  29.         raf.seek(0);//文件指针回到文件起始位置处   
  30.         int i=0;//测试循环次数   
  31.         for(long l=0;l<raf.length();l=raf.getFilePointer()) {   
  32.             s.readStudent(raf);//读取文件信息到s中   
  33.             System.out.println(s.num+":"+s.name+" "+s.score);   
  34.             ++i;   
  35.         }   
  36.         System.out.println("i:"+i);   
  37.         raf.close();   
  38.     }   
  39. }   
  40.   
  41. class Student {   
  42.     int num;   
  43.     String name;   
  44.     double score;   
  45.     Student() {   
  46.            
  47.     }   
  48.     public Student(int num,String name,double score) {   
  49.         this.num = num;   
  50.         this.name = name;   
  51.         this.score = score;   
  52.     }   
  53. //往raf指向的文件中写   
  54.     public void writeStudent(RandomAccessFile raf) throws IOException {   
  55.         raf.writeInt(num);   
  56.         raf.writeUTF(name);   
  57.         raf.writeDouble(score);   
  58.     }   
  59. //  从raf指向的文件中读   
  60.     public void readStudent(RandomAccessFile raf) throws IOException {   
  61.         num = raf.readInt();   
  62.         name = raf.readUTF();   
  63.         score = raf.readDouble();   
  64.     }   
  65. }   
  66.   
  67. /*输出  
  68. 1:zhangsan 10.0  
  69. 1:lisi 20.0  
  70. 3:wangwu 30.0  
  71. i:3  
  72.  
  73.  */  
  74. */  
分享到:
评论

相关推荐

    java笔记java笔记

    java笔记java笔记java笔记java笔记java笔记java笔记java笔记

    java笔记整理(超详细) java笔记整理(超详细)

    7. **封装**: - 封装隐藏了对象的复杂性,提供公共接口供外部使用,保护数据安全,防止意外修改。 8. **接口和抽象类**: - 接口只定义方法签名,不允许有方法实现(Java 8后可以有默认方法),支持多继承。 - ...

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    java笔记 java笔记

    #### 7. 高级语言特性 ##### 7.1 封装 封装是OOP的一个基本原则,旨在保护对象的状态,并通过公共接口提供对外部的访问。 ##### 7.2 继承 - **继承特点**:Java支持单一继承,但一个类可以通过实现多个接口来...

    宋红康java笔记.rar

    【宋红康java笔记】是一份综合性的Java学习资料,由知名编程教育者宋红康编撰。这份压缩包文件包含了大量的Java编程知识点,旨在帮助初学者和有经验的开发者深入理解和掌握Java语言的核心概念与高级特性。以下是根据...

    非常好的java笔记适合初学者

    这份"非常好的java笔记"无疑是初学者踏入这个领域的宝贵资源。笔记由培训班的专业老师编写,内容详细且全面,旨在帮助初学者系统地学习和理解Java的基础知识。 首先,Java基础部分会涵盖变量、数据类型、运算符、...

    Java笔记桌面程序

    【Java笔记桌面程序】 在IT领域,开发个人定制的桌面应用程序是解决特定需求的有效方法。本项目名为"Java笔记桌面程序",它是由一个热衷于编程的开发者为解决其所在公司无法使用网络笔记客户端的问题而自创的。这个...

    大佬的java笔记

    专业的Java笔记可能会涉及这些内容,帮助学习者掌握Java的最新发展。 遗憾的是,由于【部分内容】部分不包含实际的笔记内容,无法进一步提供具体的编程示例和深入的解释。如果要学习Java,最好的方式是从学习Java的...

    java笔记 java笔记 java笔记

    【标题】:“Java笔记”是Java开发语言的学习记录,涵盖了从基础到高级的全面知识体系。这份笔记旨在帮助开发者深入理解和掌握Java编程的核心概念和技术。 【描述】:这份"Java笔记"来源于网络资源...

    java读书笔记笔记笔记笔记笔记笔记

    【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...

    狂神说Java笔记资料

    《狂神说Java笔记资料》是一份全面涵盖Java开发基础知识的文档集,旨在帮助学习者系统地掌握Java编程。这份笔记包含多个章节,每个章节都深入讲解了一个特定的主题,覆盖了从初学者到进阶开发者必备的知识点。 1. *...

    java全套笔记 来自狂神说java笔录.zip

    【Java笔记内容概览】 1. **基础语法**:涵盖变量、数据类型、运算符、流程控制(条件语句、循环语句)、数组、字符串等基础知识。 2. **面向对象**:讲解类、对象、封装、继承、多态等核心概念,以及构造函数、...

    java笔记.zip

    2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 枚举类 2020-4-10 java 注解(Annotation) 2020-4-11 ...

    java笔记整理,java课堂笔记

    全套java笔记整理,侧边栏目录结构方便查看,纯手工整理。达内笔记整理。 已整理成带侧边栏目录的网页结构,方便复习大纲和跳转查看。大部分都带有笔记代码。 (默认设置为深珊瑚蓝色调,不喜欢可以把配置文件里的...

    java笔记java笔试题 java面试题

    这份"java笔记java笔试题 java面试题"的资源无疑是准备Java程序员的笔试和面试时的重要参考资料。以下是一些关键的Java知识点,这些内容可能会在笔记或面试中出现: 1. **Java基础**:Java的基础语法包括数据类型...

    java超强笔记

    "Java超强笔记"正是一份专为新手准备的学习资源,它全面涵盖了从Java环境的搭建到软件设计的各种概念,旨在提供一个易读且系统的学习路径。 首先,笔记可能会从Java的起源和发展开始介绍,让你了解这门语言的历史...

    java笔记本

    java笔记java笔记java笔记java笔记java笔记java笔记java笔记java笔记

    韩顺平编写的java学习笔记(全)

    ### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...

    java学习笔记 传智博客java笔记

    详细的描述了java的基本知识,配合看java视频更好了。 笔记中有集合,泛型,线程,的详细案例,还有java.net的资料

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

Global site tag (gtag.js) - Google Analytics