2016-02-04 39 views
-2

我目前遇到了從文本文件中讀取電話號碼的問題,然後讓他們通過電話號碼列表循環並使用Twilio發送短信。使用循環從文件讀取的問題

String ACCOUNT_SID = "ACCOUNT_SID"; 
String AUTH_TOKEN = "AUTH_TOKEN"; 
String fileName = "phoneNumbers.txt"; 
String line = null; 
TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN); 

List<NameValuePair> params = new ArrayList<>(); 
try 
{ 
    FileReader fileReader = new FileReader(fileName); 
    BufferedReader bufferedReader = new BufferedReader(fileReader); 

    while((line = bufferedReader.readLine()) != null) 
    { 
     System.out.println(line); 
     params.add(new BasicNameValuePair("To", line)); 
     params.add(new BasicNameValuePair("From", "+TWILIO_NUMBER")); 
     params.add(new BasicNameValuePair("Body", "TEST: Test message, please ignore.")); 
     MessageFactory messageFactory = client.getAccount().getMessageFactory(); 
     Message message = messageFactory.create(params); 
     System.out.println(message.getTo() + " " + message.getBody()); 
    } 
    bufferedReader.close(); 
    System.out.println("All messages sent."); 
} 
catch(FileNotFoundException ex) 
{ 
    System.out.println("Unable to open file."); 
} 
catch(IOException ex) 
{ 
    System.out.println("Error reading file."); 
} catch (TwilioRestException ex) { 
     Logger.getLogger(alert.class.getName()).log(Level.SEVERE, null, ex); 
    } 

這是我已經越來越輸出:我能夠讀取使用System.out.println(線)兩個電話號碼

+PHONE_NUMBER_ONE 
+PHONE_NUMBER_ONE Sent from your Twilio trial account - TEST: Test message, please ignore. 
+PHONE_NUMBER_TWO 
+PHONE_NUMBER_ONE Sent from your Twilio trial account - TEST: Test message, please ignore. 
All messages sent. 

,但該程序將無法讀取它當我將它添加到params.add行。我的循環有什麼問題,我該如何解決?

任何和所有的幫助,非常感謝。

+0

似乎錯過了清除'params',在while循環中添加'params.clear()' – Jerry06

+0

我建議在循環開始時清除您的'params'。看起來它是保留信息。不知道消息工廠是如何工作的,但這並不是真正用於鍵值匹配的理想選擇。 你應該使用** HashMap **。 – Phyreprooph

+0

增加了params.clear(),現在一切正常,因爲它應該。非常感謝幫忙。 –

回答

0

在while循環的末尾添加了params.clear(),現在一切正常。非常感謝您的幫助