天天看點

Java 使用Scanner類解析檔案//列印流//作業系統概述

使用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){
        }
    }
}
           

小結

  1. 輸入流,輸出流提供了一條通道程式,使用者可以使用這條通道讀取"源"中的資料,或把資料送到目的地//輸入流的指向成為源,程式從指向源的輸入流中讀取源中的資料;輸出流的指向稱為目的地,程式通過輸出流中寫入資料把資訊傳遞到目的地
  2. InputStream

    的子類建立的對象成為位元組輸入流,位元組輸入流按位元組讀取源中的資料,隻要不關閉流,每次調用讀取方法都會按順序地讀取源中的其餘内容,直到源中的末尾或流被關閉
  3. Reader

    的子類建立的稱為字元輸入流,字元輸入流按字元讀取源中的資料,隻要不關閉流,每次調用讀取方法時都會順序地讀取源中的其餘内容,直到源中的末尾或流被關閉
  4. OutputStream

    的子類建立的對象稱為輸出流,位元組輸出流按位元組将資料寫入輸出流指向的目的地中,隻要不關閉流,每次調用寫入方法都會按順序地向目的地寫入内容,直到流被關閉
  5. Writer

    的子類建立的對象稱為字元輸出流,字元輸出流按字元将資料寫入輸出流指向的目的地中,隻要不關閉流,每次調用寫入方法都會按順序地向目的地寫入内容,知道流被關閉
  6. 使用對象流寫入或讀入對象時要保證對象是

    序列化

    的,這是為了保證能把對象寫入檔案,并能再把對象正确地讀回到程式中.使用對象流很容易擷取一個序列化對象的

    克隆

    ,隻需将該對象寫入對象輸出流指向的目的地,然後将該目的地作為一個對象輸出流的源,那麼該對象輸出流從源中讀回的對象一定是原對象的一個克隆

作業系統概述

  • 作業系統的定義

    其主要任務是使硬體所提供的能力得到充分的利用,支援應用軟體的運作并提供相應的服務

  • 作業系統的作用

    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