使用java模擬記錄軟體試用次數問題之前,先對I/O流提供的RandomAccessFile類進行簡單的了解!

在前面幾節介紹的I/O流之中,他們都有一個共同的特點就是對讀取設備數據只能按照數據的先後順序來,但是在實際的開發過程是想對文件進行隨意的操作,但是位元組流與字元流都不能操作。因此,I/O流提供了RandomAccessFile這個類,它不屬於流,但是具有讀寫數據的功能,可以隨機從文件的任何位置開始執行讀寫數據的操作!
下面一起看看RandomAccessFile類的常用構造方法:

方法功能RandomAccessFile(File file,String mode)使用參數file指定被訪問的文件,使用mode來指定訪問模式。RandomAccessFile(String name,String mode)使用參數name指定被訪問文件的路徑,並使用mode來指定訪問模式。
參數mode有4個值,含義分別如下:
1.r:表示只讀的方式打開文件;
2.rw:表示以「讀寫」的方式打開文件;如果該文件不存在,則自動創建文件。
3.rws:表示以讀寫方式打開文件;與「rw」相比,要求對文件的內容或元數據的每個更新都同步寫入到底層的存儲設備。
4.rwd:表示以「讀寫」的方式打開文件;與「rw」相比,要求對文件的內容的每個更新都同步寫入到底層的存儲設備。

RandomAccessFile在實際開發的過程之中也常見,比如,有一些軟體在使用時需要付費,但是一般來說都有幾次免費試用的機會。接下來使用RandomAccessFile類來模擬實現記錄軟體試用次數的過程。在編寫該程序時,首先得在自己的目錄下創建一個文本文件copy2.txt,在該文本中輸入數字5作為軟體的試用次數,來進行演示模擬記錄軟體試用次數。
代碼如下:
import Java.io.*;
/**************************************
項目:隨機讀取設備中的數據
方法:RandomAccessFileseekwrite
時間:2021.2.3
*************************************/
public class RandomAFileTemp {
public static void main(String[] args) throws Exception {
//創建RandomAFileTemp 對象,並以讀寫模式打開copy.txt文件
RandomAccessFile raf= new RandomAccessFile(“C:\Users\asus\Desktop\copy2.txt”,”rw”);
//讀取還可以使用的次數為,第一次讀取時times為5
int times=Integer.parseInt(raf.readLine())-1;
//判斷剩餘的次數
if(times>0) {
//每執行一次表示使用一次,次數就會減少一次
System.out.println(“您還可以試用:”+times+”次!”);
//將記錄指針重新指向文件開頭
raf.seek(0);
//將剩餘次數再次寫入文件
raf.write((times+””).getBytes());
}else {
System.out.println(“試用次數已經用完!”);
}
//關閉這個隨機存取文件流並釋放任何系統
raf.close();
}
}
輸出結果:
試用次數已經用完!
上述結果表明,運行該代碼五次了,也就是免費使用的機會已經用完了。所以,每運行一次,就少一次使用機會,相當於一個軟體的免費使用時間為20天,每過一天免費使用的時間就少一天。同時,與我們輸入密碼一樣,你有三次機會輸入密碼,當超過連續三次都數不對,卡就會被吞!
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/218657.html
微信掃一掃
支付寶掃一掃