2015-04-21 84 views
0

我已閱讀了大部分與使用Scanner類在這裏讀取文本文件有關的問題,但我仍不明白如何將以下文本解析爲不同的變量,然後用更改的變量值替換該文本。 以下是全文:使用Java中的掃描器類讀取文本文件的特定部分

## UserID1.Credentials : 
[Username] = {default} 
[Password] = {passwordforadmin} 
[AccType] = {Admin.FirstDefault} 
[AccessLevel] = {1} 
## 

現在,我需要解析爲以下變量,其中上面的文字:

int UserID = 1; 
String Username = "default"; 
String Password = "passwordforadmin"; 
String AccType = "Admin"; 
String AccUnderType = "FirstDefault"; 
int AccessLevel = 1; 

的方法,我用讀文本文件:

String content = new Scanner(new File("D:/EncryptedCredentials.txt")).useDelimiter("\\Z").next(); 

其中content是讀取文本文件的字符串(D:/EncryptedCredentials.txt),使用分隔符'\ Z'。 (我需要將整個文本文件加載到一個字符串中,因爲程序會不斷修改它,並且應該自動添加更多細節,例如用戶在特定時間(例如11:00 AM)登錄並記錄出在下午3:00,並用A,B和C的功能,那麼上面的文字應修改爲:?

## UserID1.Credentials : 
[Username] = {default} 
[Password] = {passwordforadmin} 
[AccType] = {Admin.FirstDefault} 
[AccessLevel] = {1} 
[LastLogInTime] = {1100} 
[LastLogOutTime] = {1500} 
[TotalTimeSpent] = {0400} 
[FeaturesUsed] = {A,B,C} 
## 

我如何去了解這個讀取和寫入一個文本文件 另一個問題是,因爲任何人都明顯可以看到我在做登錄系統,所以我需要知道如何在文本文件中實現加密,以便人們只能通過程序訪問文本文件的內容。當然,文本可以改變。我所需要的只是讓程序讀取它並將特定的信息存儲在適當的變量中n將其寫回加密的文本文件。

所以,在所有的,我所需要知道的是:

如何只讀加載到一個字符串的文本文件的特定部分? 如何修改這些部分(包括添加以前不存在的文本)並將它們再次寫入文本文件? 如何在文本文件中實現加密時執行上述步驟?

請向我解釋他們,因爲我對此沒有太多瞭解。提前致謝。

注意:我仍然是Java初學者,除了Scanner類,數組,循環等以及一些隨機的東西外,我不知道任何東西。請幫助我。

回答

1

我建議使用屬性文件更簡單的方法。 這裏是一個例子的鏈接: http://www.mkyong.com/java/java-properties-file-examples/

+0

請問你能解釋給我嗎?提前致謝。 – user4699641

+0

@ user4699641我建議使用標準屬性文件而不是創建新的自定義格式。以下是屬性文件的簡短說明:http://en.wikipedia.org/wiki/.properties。上一個鏈接(mkong.com)展示瞭如何使用Java來處理它。 –

+0

但是,它會被加密嗎? – user4699641