2016-07-15 237 views
-3

是否可以從文本文件中讀取555.5.55:80,並以某種方式將IP置於第一個arg中,並將端口置於第二個arg中? (ip, port)Java從文本文件中讀取

+3

那麼它聽起來像是要分割基於冒號的字符串。你看過字符串文檔中的任何可能會分割字符串的方法嗎? –

+1

是的,這可以很容易地完成,但你嘗試過什麼嗎?如果沒有,那麼你最可能要求幾十行代碼。 –

+1

當然有可能,但是'555'超出了八位字節的範圍,並且你只有三個數字部分(所以這不是IP地址)。 –

回答

0

這是一個更好的工作方式。但是這是(我猜)你正在尋找 什麼

File file = new File("path/of/your/file"); 
try 
{ 
    Scanner sc = new Scanner(file); 
    while(sc.hasNext()) 
    { 
     String line = sc.nextLine(); 
     String str[] = line.split(":"); 
     String strIP = str[0]; // this will be the IP Address 
     String strPort = str[1]; // this will be the Port Number 
    } 
}catch(IOException e) 
{ 
     // work with the errors here 
} 
-1

是的,這是可能的。

如果字符串"555.5.55:80"在變量foo,那麼你可以做這樣的事情:

// gets the location of the colon between the ip and port 
int index = foo.indexOf(":"); 
String ip = foo.substring(0, index); // should be "555.5.55" 
String port = foo.substring(index + 1, foo.length()); // should be "80" 
<insert function to args pass into>(ip, port); 

或本:

String [] bar = foo.split(':'); 
String ip = bar[0]; 
String port = bar[1]; 

然後通過ipport到相同的功能。

此外,根據函數的第二個參數的類型,您可能必須使用int numPort = Number.parseInt(port)Integer.valueOf(port),並改爲傳入numPort