簡體   English   中英

使用Java中的Scanner類讀取文本文件的特定部分

[英]Reading specific parts of a text file using Scanner class in Java

我已經解決了與使用Scanner類讀取文本文件有關的大多數問題,但是我仍然不明白如何將以下文本解析為不同的變量,然后用更改后的變量值替換該文本。 這是文本:

## 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 PM退出,並使用了A,B和C功能,則以上文字應修改為:

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

我該如何讀取和寫入文本文件? 另一個問題是,既然顯然每個人都可以看到我正在使用登錄系統,那么我需要知道如何在文本文件中實現加密,以便人們只能通過該程序訪問文本文件的內容。 當然可以更改文本。 我需要的是程序讀取它並將特定信息存儲在適當的變量中,然后將其寫回到加密的文本文件中。

因此,總的來說,我需要知道的是:

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

請向我解釋一下,因為我對此並不了解。 提前致謝。

注意:我仍然是Java的初學者,除了Scanner類,數組,循環等以及一些隨機的東西外,我什么都沒有。 請幫幫我。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM