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;
}
}
}总结:今天把输入输出流学完了,前面比较简单的应用,后面有点复杂有些还是没有明白
今天也把后面的习题做咯下,明白了简单的使用输入输出流写内容进文件,从文件读内容
也学会了如何产生和使用随机数
更重要的是有些明白了冒泡排序的原理,摸明白了这个排序其他的排序也不远了