java 遍历属性文件

java iterate through properties file

我有一个通过 Java 应用程序发送电子邮件的项目。 我几乎一切正常,我只需要能够配置我发送的电子邮件数量。

我在属性文件中有所有电子邮件地址。应用程序规范要求我在此文件中设置一个值,该值将确定要发送的电子邮件数量。这是我的属性文件的示例,希望对您有所帮助:

email1=tom@foo.com
email2=jerry@foo.com
email3=spike@foo.com
iterate=1  //this is the value that needs to be changed 
           in order to decide the number of emails to send.

在我的应用程序代码中,我有以下内容:

申请

Properties props = new Properties();
String to = props.getProperty("to");
String from = props.getProperty("from");
String host = props.getProperty("host");
String port = props.getProperty("port);

props.setProperty("mail.smtp.host", host);
props.setProperty("mail.smtp.port", port);

try
    {
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
        message.setSubject("<subject goes here>");
        message.setText(<body goes here>);
        Transport.send(message);
    }

我想你把所有的电子邮件 ID 都放在了一个键上

emails=tom@foo.com,jerry@foo.com,spike@foo.com

然后读取这个emails字符串并将其拆分成数组。

然后阅读 iterate,并在电子邮件数组上执行 for 循环,直到您的属性文件中不存在 iterate

已编辑

如果此电子邮件 ID 用于 to 封电子邮件

String emails = props.getProperty("emails);
String iterate = Integer.valueOf(props.getProperty("iterate));
String arr[]= emails.split(",");
String toArr[] = new String[iterate];
System.arraycopy(arr, 0, toArr, 0, iterate);

现在你有了 toArr 数组,使用这个 toArr 发送你的电子邮件