使用Scanner类解析文件
使用Scanner类和正则表达式来解析文件的特点是以时间换取空间,也就是解析速度相对较,但节省字节内存
- 使用默认分隔标记解析文件
创建Scanner对象,并指向要解析的文件
File file = new File("hello.txt");
Scanner sc = new Scanner(file);
- 使用正则表达式作为分隔标志
首先创建Scanner对象,指向要解析的文件,然后调用useDelimiter()方法指定正则表达式作为分隔标记
例子
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Example12_18 {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("C:\\Users\\Administrator\\Desktop","新建文本文档.txt");
Scanner scanner = new Scanner(file);
int count = 0;
double sum = 0;
double cost;
while(scanner.hasNext()){ //默认分隔符为空格
try{
cost = scanner.nextInt();
sum = sum + cost;
System.out.println(cost);
count++;
}
catch (Exception E){
String t = scanner.next(); //返回该数的数字型单词
}
}
double aver = sum/count;
System.out.println("平均数:" + aver);
}
}
运行结果
D:\HelloWorld\out\production\HelloJava Chapter_12.Part_13.Example12_18
60.0
79.0
88.0
平均数:75.66666666666667
值得注意的是
如果单词不是数字型单词调用nextInt()或nextDouble()方法,就会出现异常,处理异常时可以调用next()方法返回该非数字化单词
打印流
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class Example12_14 {
public static void main(String[] args) {
try{
File file = new File("C:\\Users\\Administrator\\Desktop","abc.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
PrintStream printStream = new PrintStream(fileOutputStream);
printStream.println("我是一个学生");
printStream.close();
fileOutputStream.close();
}
catch(Exception e){
}
}
}
小结
- 输入流,输出流提供了一条通道程序,用户可以使用这条通道读取"源"中的数据,或把数据送到目的地//输入流的指向成为源,程序从指向源的输入流中读取源中的数据;输出流的指向称为目的地,程序通过输出流中写入数据把信息传递到目的地
-
InputStream
的子类创建的对象成为字节输入流,字节输入流按字节读取源中的数据,只要不关闭流,每次调用读取方法都会按顺序地读取源中的其余内容,直到源中的末尾或流被关闭 -
Reader
的子类创建的称为字符输入流,字符输入流按字符读取源中的数据,只要不关闭流,每次调用读取方法时都会顺序地读取源中的其余内容,直到源中的末尾或流被关闭 -
OutputStream
的子类创建的对象称为输出流,字节输出流按字节将数据写入输出流指向的目的地中,只要不关闭流,每次调用写入方法都会按顺序地向目的地写入内容,直到流被关闭 -
Writer
的子类创建的对象称为字符输出流,字符输出流按字符将数据写入输出流指向的目的地中,只要不关闭流,每次调用写入方法都会按顺序地向目的地写入内容,知道流被关闭 - 使用对象流写入或读入对象时要保证对象是
序列化
的,这是为了保证能把对象写入文件,并能再把对象正确地读回到程序中.使用对象流很容易获取一个序列化对象的克隆
,只需将该对象写入对象输出流指向的目的地,然后将该目的地作为一个对象输出流的源,那么该对象输出流从源中读回的对象一定是原对象的一个克隆
操作系统概述
- 操作系统的定义
其主要任务是使硬件所提供的能力得到充分的利用,支持应用软件的运行并提供相应的服务 - 操作系统的作用
1.通过资源管理,提高工作效率
2.改善人机界面,提供友好的工作环境 - 操作系统的特征
1.并发性//计算机系统中存在着许多同时运动的程序
2.共享性//各个并发活动要共享计算机系统中的软件和硬件资源
3.虚拟性//把物理上的一台设备变成逻辑上的多台设备
4.不确定性// - 操作系统的功能
1.处理机管理//处理机是计算机系统的心脏
2.存储管理//对内存储器进行分配,扩充和保护
3.设备管理//
4.文件管理//对系统软件资源的管理
5.用户接口// - 操作系统的类型
1.批处理操作系统
2.分时操作系统
3.实时操作系统
4.网络操作系统
5.分布式操作系统
6.微机操作系统
7.嵌入式操作系统 - 研究操作系统的观点
1.资源管理观点
2.虚拟机观点
CET4P178
- despair
- obey
- victim
- video
- helpless
- erect
- phase
- possibility
- amaze
- previous
- viewpoint