import java.io.File; //파일과 디텍토리 추상화한 클래스 사용
import java.io.FileInputStream; //파일 입출력 스트림
import java.io.FileOutputStream; //파일 입출력 스트림
import java.io.InputStream; //기본적인 입력 스트림의 인터페이스 제공
import java.io.OutputStream; //각종 출력 스트림의 부모클래스
import java.io.IOException;
import java.util.*;
import java.io.*;
import java.net.*;
import java.util.*;
import java.lang.String;
public class Get_cash {
public String opencashFile(String domain_q, File inputFile) {
String k_no = domain_q;
Hashtable<String,String> cashTable = new Hashtable<String ,String >();
try {
in = new BufferedReader(new FileReader(inputFile));
while ( true) {
String input1 = in.readLine();
if (input1==null) break;
String input2 = in.readLine();
cashTable.put(input1, input2); // 해쉬에 아이템을 넣는 작업
}
if(cashTable.containsKey(k_no)){
String k_string = cashTable.get(k_no);
String M_Line = k_string.replace('.', ' ');
//IP 주소 사이에 있는 점을 space로 바꿈
StringTokenizer tokenizedLine = new StringTokenizer(M_Line);
String word1 = tokenizedLine.nextToken();
String word2 = tokenizedLine.nextToken();
String word3 = tokenizedLine.nextToken();
String word4 = tokenizedLine.nextToken();
int iword1 = Integer.parseInt(word1); //String을 integer로 바꾼다
int iword2 = Integer.parseInt(word2);
int iword3 = Integer.parseInt(word3);
int iword4 = Integer.parseInt(word4);
String ans1 = Integer.toHexString(iword1); //10진수를 16진수 문자열로 변환
String ans2 = Integer.toHexString(iword2);
String ans3 = Integer.toHexString(iword3);
String ans4 = Integer.toHexString(iword4);
ansaddr = "%" + ans1 + "%" + ans2 + "%" + ans3 + "%" + ans4;
//16진수로 변환한 4개의 주소 문자열 사이에 %를 넣어 구분
}else{
//System.out.println("not find key ["+k_no+"]");
ansaddr = "%" + 0 + "%" + 0 + "%" +0+ "%" + 0; //<---이부분 어떻게처리하나요 ㅜㅜ 찾는값없음으로하고싶은데 ㅜㅜ
}
if (in != null) in.close();
}
catch (NumberFormatException exception) { //예외처리 부분
System.out.println("Key: " + exception);
}
catch (IOException exception) {
System.out.println("Error processing file : " + exception);
}
return(ansaddr); //%와 16진수로 이루어진 IP주소 문자열을 반환한다
}
String ansaddr;
BufferedReader in;
}
프로그램 돌렷을때 뜨는 화면