2016-07-15 17 views
-3

555.5.55:80을 텍스트 파일에서 읽을 수 있으며 어떻게 든 두 번째 인수에서 첫 번째 arg와 포트에 IP를 넣을 수 있습니까? (ip, port)자바 텍스트 파일에서 읽기

+3

콜론을 기반으로 문자열을 분할하려는 것 같습니다. * 문자열을 분할 할 수있는 메서드에 대한 문자열 설명서를 살펴 보았습니까? –

+1

예, 쉽게 할 수 있지만 아직 시도해 보셨습니까? 그렇지 않다면, 당신은 가장 많은 가능성이있는 수십 줄의 코드를 요구하고 있습니다. –

+1

물론 '555'는 옥텟의 범위를 벗어 났고 IP 주소가 아닌 3 개의 숫자 부분 만 가질 수 있습니다. –

답변

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을 전달해야 할 수 있습니다.