1..对文件的随机访问:前面介绍的流类实现的是磁盘文件的顺序读写,而且读和写分别创建
不同的对象,java语言中还定义了一个功能强大、使用更方便的随机访问类RandomAcessFile
它可以实现文件的随机读写
2.RandomAcessFile类有两个构造方法用于创建RandomAcessFile类对象:
public RandomAcessFile(String name,String mode):以name来指定随机文件流对象
所对应的文件名。以mode表示对文件的访问模式
public RandomAcessFile(File file,String mode):以file来指定随机文件流对象所对应的
文件名,以mode表示对文件的访问模式
3.说明:访问模式mode表示创建的随机读写文件的操作状态。mode的取值如下
r:表示以只读方式打开文件
rw:表示以读写方式打开文件。使用该模式只用一个对象就可以同时实现读和写两种操作
4.RandomAcessFile类的所有方法都可能抛出IOException异常,所以利用它实现对
文件对象操作时应把相应的语句放在try语句块中,并配上catch语句块来处理可能产生
的异常

5.//在D盘中自动创建了一个file1.txt文件夹
FileWriter fw = new FileWriter("d:\\JAVA\\file1.txt");
6..fw.close();//在写入中最后面要加上close方法
7..Random r = new Random();
//random对象的参数是左闭右开区间[0,n-1),
//如果要求20-9999.则表示为int ran = r.nextInt(9980)+20;
for(int i =0;i<15;i++){
int ran = r.nextInt(9980)+20;
a[i] = ran;
}//产生15个20-9999个随机数
8..冒泡顺序:
for(int i = 0;i<a.length-1;i++){//冒泡排序不与自身比较所以只有14个比较
for(int j = 0;j<a.length-1-i;j++){
//j的范围由i来决定,i为前面已经比较的,按照冒泡每次排一个到最后
// j前面的不用比较
if(a[j]>a[j+1]){
int temp =a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
}
}
9..冒泡逆序:
public static void main(String []args){
int []a = {1,2,5,7,9,3,4,6,8};
for (int i = a.length - 1; i >0; i--) {
//j的范围由i来决定,i为前面已经比较的,按照冒泡每次排一个到最后
// j前面的不用比较
for(int j = a.length-1;j >a.length+1-i;j--){
if(a[j-1]>a[j]){
int temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
}

总结:今天把输入输出流学完了,前面比较简单的应用,后面有点复杂有些还是没有明白

今天也把后面的习题做咯下,明白了简单的使用输入输出流写内容进文件,从文件读内容

也学会了如何产生和使用随机数

更重要的是有些明白了冒泡排序的原理,摸明白了这个排序其他的排序也不远了

四月二十六java基础知识的更多相关文章

  1. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  2. 超详细的Java面试题总结(二)之Java基础知识篇

    多线程和Java虚拟机 创建线程有几种不同的方式?你喜欢哪一种?为什么? 继承Thread类 实现Runnable接口 应用程序可以使用Executor框架来创建线程池 实现Callable接口. 我 ...

  3. Java学习笔记二十六:Java多态中的引用类型转换

    Java多态中的引用类型转换 引用类型转换: 1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换: 2.向下类型转换(强制类型转换),是大类型到小类型的转换: 3.instanceof运算 ...

  4. 二十、Java基础--------IO流之其他对象

    在上面两篇文章中介绍了IO体系并详细介绍了字节流以及字符流,本文主要是讲述操作文件的File.转化流.标准输入与输出.Properties.打印流以及序列流. File File英文为"文件 ...

  5. Java基础知识陷阱系列

    Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四 ...

  6. JAVA之旅(二十六)——装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片

    JAVA之旅(二十六)--装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片 一.装饰设计模式 其实我们自定义re ...

  7. Java实习生常规技术面试题每日十题Java基础(六)

    目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...

  8. Java实习生常规技术面试题每日十题Java基础(二)

    目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...

  9. Bootstrap <基础二十六>进度条

    Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...

  10. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

随机推荐

  1. 问题记录[ PPOME 修改子屏幕日期弹框,No changes to data, periods undone. Message no. 5A496 ]

    最近在做组织信息增强,将子屏幕嵌入PPOME后,修改日期后会弹出信息框并重置300屏幕的开始日期.且PO13和PP01无异常 刚开始以为7000屏幕配置问题,但是对比后并没发现异常.跟踪消息号发现函数 ...

  2. [api自动化]快速导出接口到jmeter脚本

    [场景]在项目做接口自动化的时候,大家一般找接口文档或者其他接口资料,逐一编写脚本.这样效率低,且容易由于文档未更新导致接口调试不通 [解决方案]页面上操作对应功能,直接捕获用到的接口,导出到jmet ...

  3. c++官方网站汇集

    c++官方网站汇集 gcc官网: https://gcc.gnu.org/ c++参考手册: https://en.cppreference.com/w/cpp c++教程网站: https://ww ...

  4. 如何跳出forEach循环

    for(let ii in this.listData){ console.log("提交前数据",ii) try{ this.listData[ii].forEach((el,i ...

  5. php【websocket】

    在PHP中,开发者需要考虑的东西比较多,从socket的连接.建立.绑定.监听等都需要开发者自己去操作完成,对于初学者来说,难度方面也挺大的.下面就简单介绍一下,可供参考 一.socket协议的简介 ...

  6. Iview Table 图片、超链接

    columns = [ { title: "照片", key: "attach_url", align:'center', width: 170, render ...

  7. VS 2022创建ATL组件 (C++)

    https://www.cnblogs.com/chechen/p/8119018.html 步骤如下: 1.新建ATL项目 打开Visual Studio 2022 新建ATL项目 2.添加接口类. ...

  8. 在 Kubernetes 集群上安装/升级 Rancher

    https://ranchermanager.docs.rancher.com/zh/pages-for-subheaders/install-upgrade-on-a-kubernetes-clus ...

  9. 软件工程日报——第十天(Android 开发中的异常处理问题)

    Android 开发中的异常处理问题 在代码的编写工作当中,我们会遇到很多有关错误处理的内容.这个时候,你用的最多的应该是try-catch-finally,这样的句式.系统提供的这个句式极大方便我们 ...

  10. Linux部署JDK教程

    上一次说了windows下的jdk部署,这一次记录下Linux下的jdk部署,恰巧遇到一篇写的很清楚的教程,我就直接转过来啦,哈哈.. 一. 解压安装jdk 在shell终端下进入jdk-6u14-l ...