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. 安装 vue devtools 时,npm i 和 npm run build 报错问题

    1.如果 npm i 报错,运行如下命令: npm i --legacy-peer-deps 2.如果 npm run build 报错,运行如下命令: npm install -g yarn yar ...

  2. docker知识篇

    什么是Docker?Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).b ...

  3. Java mysql批量关联插入数据

    mysql 关联批量插入数据 INSERT INTO 表1 ( id, name, addTime ) SELECT UUID( ) AS id, v_Name, now( ) FROM 表2;

  4. Java jsp视频标签

    视频标签: 直接显示 <embed src="视频地址.mp4" width="60" height="40"> 按钮点击 &l ...

  5. 了解JAVA基本知识以及一下常用的dos命令

    9月5日学习 常用的Dos命令 #盘符切换盘符名称: =>回车​#查看当前目录下的所有文件dir​#切换目录 cd change directorycd .. =>返回上一级目录​#清理屏 ...

  6. python+基本3D显示

    想要将双目照片合成立体图实现三维重建,完全没有头绪.但是对三维理解是必须的.所以将以前在单片机上运行的 3D画图 程序移植到python上.效果如下: 没有用numpy.openGL等,只用了纯mat ...

  7. 关于nth-of-type的注意事项

    普通使用 nth-of-type: <div class="box"> <div> 第一个元素 </div> <p>没有用的元素&l ...

  8. DBeaver通过phoenix连接云主机的hbase

    准备 1.云主机上已经安装好jdk.hadoop.hbase.zookeeper.phoenix,并且在主机上测试连接成功.可参考 https://blog.csdn.net/shangxindeku ...

  9. 基于工业4g网关的危化品运输车监控方案

    工业的发展立足于各种各样原材料的加工和应用,而其中就包括一些油料.化学品和易燃易爆货物,针对此类货物的运输,需要着重关注其安全性和稳定性,否则就容易造成严重的人身和财产损失.得益于物联网技术的发展,现 ...

  10. c++中的构造函数,拷贝构造函数和赋值函数

    1.拷贝构造和赋值函数的区别: 1)拷贝构造函数是一个对象初始化一块内存区域,这块内存就是新对象的内存区,而赋值函数是对于一个已经被初始化的对象来进行赋值操作. 2)一般来说在数据成员包含指针对象的时 ...