Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将.txt文件转换为两个字符串_Java_String_Text Files - Fatal编程技术网

在java中将.txt文件转换为两个字符串

在java中将.txt文件转换为两个字符串,java,string,text-files,Java,String,Text Files,如果您有一个名为“login.txt”的文本文件(与可执行jar位于同一文件夹中),其中包含ID:username-Password:Password,这是将ID和密码内容转换为两个字符串的最佳方法,因此您可以将它们替换为类似的内容:api.login(“用户名”、“密码”)注意:用户名和密码中没有空格,我的错 编辑:在api.login(“用户名”、“密码”)username和password应该是我最初拥有的,我想转换成字符串,比如api.login(ID,password)从文件中重申:条

如果您有一个名为“login.txt”的文本文件(与可执行jar位于同一文件夹中),其中包含
ID:username-Password:Password
,这是将ID和密码内容转换为两个字符串的最佳方法,因此您可以将它们替换为类似的内容:
api.login(“用户名”、“密码”)注意:用户名和密码中没有空格,我的错


编辑:在
api.login(“用户名”、“密码”)
username和password应该是我最初拥有的,我想转换成字符串,比如
api.login(ID,password)从文件中重申:条件:

  • 格式为
    ID:username密码:Password
  • ID
    是一个静态字符串
  • 密码
    是一个静态字符串
  • username
    从不包含空格
然后,您可以使用简单的正则表达式提取数据:

ID:(?<username>[^\s]++)\s++Password:(?<password>.*+)

字符串#拆分
?但是,你需要知道,
username
password
是否可以包含spacesummam可能有很多方法,你可以使用String.equals()类,你可以使用HashMap,你可以使用多维数组,正则表达式,这真的取决于你选择的武器。展示你尝试过的东西。@mad,事先没有太空智慧-。
public User extractCredentials(final String data) {
    final Pattern pattern = Pattern.compile("ID:(?<username>[^\\s]++)\\s++Password:(?<password>.*+)");
    final Matcher matcher = pattern.matcher(data);
    if (!matcher.matches()) {
        throw new IllegalArgumentException("Invalid data format");
    }
    return new User(matcher.group("username"), matcher.group("password"));
}

public class User {
    private final String name;
    private final String password;

    public User(String name, String password) {
        this.name = name;
        this.password = password;
    }

    //getter


    @Override
    public String toString() {
        return String.format("User{name='%s', password='%s'}", name, password);
    }
}
System.out.println(extractCredentials("ID:username Password:password"));

User{name='username', password='password'}