繁体   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