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组件template中html代码自动补齐设置

    1.vscode设置==>扩展==>JSON==>在settings.json中编辑 2.在最后 } 前添加如下代码保存文件即可 // 自动补全模板字符串 "emmet.t ...

  2. centos7 为文件夹添加写入权限

    [root@VM-16-15-centos ~]# sudo su[root@VM-16-15-centos ~]# cd /www/wwwroot/www.htqq.sale/php/images[ ...

  3. LeetCode 之 111. 二叉树的最小深度

    原题链接 思路: 递归计算每个子树的深度,返回左右子树中深度小的值: 由于题目中要求的是到最近叶子节点的深度,所以需要判断 左右子树为空的情况: python/python3: class Solut ...

  4. win10系统格式化后进行虚拟分区

    1. 目的 目前win10磁盘分区多数人采用两种方式: 1:只分一个C盘,文件在C盘以目录区分. 缺点:所有文件都在一起,区分查找比较麻烦. 2:物理分区,分多个盘,如C,D,E等等 缺点:容量固定, ...

  5. java map重写 转大写、转驼峰

    /** * @author admin * @Description * 转大写 */ public class HashMapUpper<V> extends HashMap<St ...

  6. 思科交换机BGP配置

    拓扑图后期添加 交换机A配置: Console#show running-configBuilding running configuration. Please wait...!!vlan data ...

  7. mysql对汉字排序

    问题: 编写order by排序时,如果字段是汉字的话,排序会失效. 如: SELECT * FROM user ORDER BY age ASC,username DESC 此时按照username ...

  8. vue 调用 js 获取的今日、本周、本月、本年起始和结束日期

    一.得到今天.昨天.明天日期 function getDate(dates) { var dd = new Date(); var n = dates || 0; dd.setDate(dd.getD ...

  9. 关于使用antd-proTable,报错 ResizeObserver loop limit exceeded

    错误如上,原因有几种情况 一:columns中,属性又ellipsis属性,但是没有设置width,导致table不知道如何计算在什么时候,开始对内容进行加省略号,出现了计算错误 如  const c ...

  10. 学习记录--C++多态性简答+编程题

    #include<iostream> #include<string> //双目运算符:运算符作用域两个操作数 //定义一个复数类,重载"+",作为复数类的 ...