달력

052012  이전 다음

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  




광고 한번만 클릭 부탁드립니다^^
위에 냐옹이 말구~ 위에 배너요~^_^/ 


포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject [Android,OpenGL,Java] Quaternion to Euler

최종수정일 : 2012.04.16

안녕하세요~^^

  Quaternion 을 Euler 로 변환하는 코드 입니다. 

by 퓨림노

글을 작성하겠습니다.

Reference URL 

http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/index.htm


위의 주소를 참조하시면 됩니다만!

코드를 수정할 때 Quaternion 이 normalized 되어 있다면, 위에 방식으로, 아니면 아래 방식으로 사용함.


01. normalized

public vector3f Quat2Angle(float x, float y, float z, float w) {

		double pitch, roll, yaw;

		double test = x * y + z * w;
		if (test > 0.499) { // singularity at north pole
			yaw = 2 * Math.atan2(x, w);
			pitch = Math.PI / 2;
			roll = 0;

			vector3f euler = new vector3f((float) pitch, (float) roll,
					(float) yaw);
			return euler;
		}
		if (test < -0.499) { // singularity at south pole
			yaw = -2 * Math.atan2(x, w);
			pitch = -Math.PI / 2;
			roll = 0;
			vector3f euler = new vector3f((float) pitch, (float) roll,
					(float) yaw);
			return euler;
		}
		double sqx = x * x;
		double sqy = y * y;
		double sqz = z * z;
		yaw = Math.atan2(2 * y * w - 2 * x * z, 1 - 2 * sqy - 2 * sqz);
		pitch = Math.asin(2 * test);
		roll = Math.atan2(2 * x * w - 2 * y * z, 1 - 2 * sqx - 2 * sqz);

		vector3f euler = new vector3f((float) pitch, (float) roll, (float) yaw);
		return euler;

	}

gg

01. non-normalized

	public vector3f Quat2Angle(float x, float y, float z, float w) {

		double pitch, roll, yaw;
		double sqw = w * w;
		double sqx = x * x;
		double sqy = y * y;
		double sqz = z * z;
		double unit = (sqx * sqy) + (sqz * sqw);
		double test = (x * y) + (z * w);

		// singularity at north pole
		if (test > 0.499 * unit) {
			pitch = 0.0;
			roll = 2.0 * Math.atan2(x, w);
			yaw = Math.PI / 2;
			vector3f euler = new vector3f((float) pitch, (float) roll, (float) yaw);
			return euler;
		}

		// singularity at south pole
		if (test < -0.499 * unit) {

			pitch = 0.0;
			roll = -2.0 * Math.atan2(x, w);
			yaw = Math.PI / 2;

			vector3f euler = new vector3f((float) pitch, (float) roll,(float) yaw);
			return euler;
		}

		// attitude = pitch (X Axis of OSG)
		// heading = roll (Y Axis of OSG)
		// bank = yaw (Z Axis of OSG)
		pitch = Math.atan2((2.0 * x * w) - (2.0 * y * z), -sqx + sqy - sqz + sqw);
		roll = Math.atan2((2.0 * y * w) - (2.0 * x * z), sqx - sqy - sqz + sqw);
		yaw = Math.asin(2.0 * test / unit);

		vector3f euler = new vector3f((float) pitch, (float) roll, (float) yaw);
		return euler;
	}*/


코드를 따라서 작성해보고, 위의 URL 에서 계산해서 검증할 수 있다. 

확인을 꼭 해보도록 하자. 

그리고 인터넷 소스는 항상 신뢰하지 말자. (수식을 보고 확인을 하고 넘어가도록 하자. )



다 읽었으면 배너 클릭! (뭐 못보면 할 수 없고...)


저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노




광고 한번만 클릭 부탁드립니다^^
위에 냐옹이 말구~ 위에 배너요~^_^/ 


포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject [Java] Java 파일 입출력

최종수정일 : 2012.04.15

안녕하세요~^^
  파일 입출력을 예전에 정리한번 하였는데, 원하는 부분이 없어서 다시 포스팅 합니다. 
by 퓨림노

글을 작성하겠습니다.

1. 파일 Read
2. 파일 write
3. 현재 시간 구하기
4. 파일 경로는 어디로 가는가!?



1. 파일 Read

2. 파일 write
3. 현재 시간 구하기
4. 파일 경로는 어디로 가는가!?

파일 읽기
public void FileRead( String filename ){
		
		String strline = null;
		try {
			
			FileReader fr = new FileReader(filename);
			BufferedReader br = new BufferedReader(fr);
			
			while( (strline = br.readLine()) != null ) {
			  // 요기에 원하는 거 소스코드 첨부하기
			}
	        }
			br.close();
		}catch( Exception e ){
			System.out.println(" File Read Error = " + e );
		}
		
	}


파일 쓰기
	public void FileWrite()
	{
		String time = GetcurrentTime();
		String filename = time + ".txt";
		String output = null;
		
		try{
			File f = new File(filename);			
			FileOutputStream fos = new FileOutputStream(f);
			
			// 파일 출력하기 
			
			fos.close();
			
		}catch ( FileNotFoundException e ){
			e.printStackTrace();
		}catch ( IOException e) {
			e.printStackTrace();
		}
	}


현재 시간 구하기
public String GetcurrentTime()
	{	
		SimpleDateFormat sdf = new SimpleDateFormat("HH_mm_ss");
		Date dTime = new Date();
		String sTime = sdf.format(dTime);
		System.out.println( "currentTime = " + sTime );
		
		return sTime;
	}


* 파일 경로에 대해서
1. Java 에서는 소스코드가 있는 경로에 담아두면 된다.( 안해보고 적는데...)
2. 안드로이드는 함수가 있으니깐...보통 /mmt/sdcard/ 를 붙여주는게 좋긴한데. 
어떤 경우는 /sdcard/ 또는 없어야 하는 경우가 있다. 그냥 그렇다고....

안적은 것보다 못하네요. 



저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노

광고 한번만 클릭 부탁드립니다^^

포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject HashMap 사용법, (아니 중첩 arraylist 사용법)

최종수정일 : 2011.06.06

Android 에서 사용하는 Java 입니다. 물론 기본 Java 에서 사용하는 문법이나, 때로는 Android 에서 사용되지 않는 패키지도 있습니다. 앞으로도 계속 포스팅 되는 Java code들은 전부 Android 에서 실험하기 위한 소스임을 말씀드립니다. 
C/C++ Code 로만 살아와서 Java의 언어의 특성을 깊이 모릅니다. 어떠한 패키지가 있고 어떠한...부품들이 있는지. 
필요에 따라서 포스팅을 하려고합니다.  많은 도움이 있었으면 합니다. 
열공하세요^___________^*
by 퓨림노

안녕하세요~^^
오늘은 arraylist 의 사용방법에 대해서 알아봅시다.
소스만 남기고 도망갑니다.

소스코드가 꼬였네요....'ㅅ'/  

 
[소스코드] 
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class test
{
	public static void main(String[] args) {
	
		HashMap hm = new HashMap();
		List al = new ArrayList();
		
		hm.put("name", "길동");
		hm.put("nick", "또리");
		al.add( hm );
		
		hm = new HashMap();
		hm.put("name", "청수");
		hm.put("nick", "수리");
		al.add( hm );
		
		HashMap getHm = new HashMap();
		
		String sName = null;
		String sNick = null;
		
for( int i=0; i
           }
}
저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노

광고 한번만 클릭 부탁드립니다^^

포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject List Collection Framework

최종수정일 : 2011.06.06

Android 에서 사용하는 Java 입니다. 물론 기본 Java 에서 사용하는 문법이나, 때로는 Android 에서 사용되지 않는 패키지도 있습니다. 앞으로도 계속 포스팅 되는 Java code들은 전부 Android 에서 실험하기 위한 소스임을 말씀드립니다. 
C/C++ Code 로만 살아와서 Java의 언어의 특성을 깊이 모릅니다. 어떠한 패키지가 있고 어떠한...부품들이 있는지. 
필요에 따라서 포스팅을 하려고합니다.  많은 도움이 있었으면 합니다. 
열공하세요^___________^*
by 퓨림노

자바 잼있네요!

 


[소스코드]
import java.util.ArrayList;
import java.util.List;

class coorlist
{
	public int x;
	public int y;
}

public class test
{	
	public static void main(String[] args) 
	{
		int i,j;
		int count = 0;
		//
		List< List > wlist = new ArrayList < List >(10);
		
		// -------------------------------------------------------
		// input
		// -------------------------------------------------------
		for( i=0; i<10; i++) {
			//List al =  (List)wlist.get(i);
			
			List list = new ArrayList();
			// input 1
			coorlist cl = new coorlist();
			cl.x = count;
			cl.y = count++;
			list.add(cl);
			
			// input 2
			cl = new coorlist();
			cl.x = count;
			cl.y = count++;
			list.add(cl);
			
			wlist.add( list );
		}
		
		// -------------------------------------------------------
		// output
		// -------------------------------------------------------
		for( i=0; i<10; i++) {
			List al = (List)wlist.get(i);
			
			System.out.println( "=== Num " + i + "번째 ===" );			
                        for( j=0; j<al.size(); j++ ) {
				coorlist cl = (coorlist)al.get(j);
				
				System.out.println( "j = " + j + " : x = " + cl.x + ", y = " + cl.y );
			}
		}
	}
}
[출력결과]


=== Num 0번째 ===

j = 0 : x = 0, y = 0

j = 1 : x = 1, y = 1

=== Num 1번째 ===

j = 0 : x = 2, y = 2

j = 1 : x = 3, y = 3

=== Num 2번째 ===

j = 0 : x = 4, y = 4

j = 1 : x = 5, y = 5

=== Num 3번째 ===

j = 0 : x = 6, y = 6

j = 1 : x = 7, y = 7

=== Num 4번째 ===

j = 0 : x = 8, y = 8

j = 1 : x = 9, y = 9

=== Num 5번째 ===

j = 0 : x = 10, y = 10

j = 1 : x = 11, y = 11

=== Num 6번째 ===

j = 0 : x = 12, y = 12

j = 1 : x = 13, y = 13

=== Num 7번째 ===

j = 0 : x = 14, y = 14

j = 1 : x = 15, y = 15

=== Num 8번째 ===

j = 0 : x = 16, y = 16

j = 1 : x = 17, y = 17

=== Num 9번째 ===

j = 0 : x = 18, y = 18

j = 1 : x = 19, y = 19



 
저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노

광고 한번만 클릭 부탁드립니다^^

포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject java HashMap 의 참조방법

최종수정일 : 2011.06.06

Android 에서 사용하는 Java 입니다. 물론 기본 Java 에서 사용하는 문법이나, 때로는 Android 에서 사용되지 않는 패키지도 있습니다. 앞으로도 계속 포스팅 되는 Java code들은 전부 Android 에서 실험하기 위한 소스임을 말씀드립니다. 
C/C++ Code 로만 살아와서 Java의 언어의 특성을 깊이 모릅니다. 어떠한 패키지가 있고 어떠한...부품들이 있는지. 
필요에 따라서 포스팅을 하려고합니다.  많은 도움이 있었으면 합니다. 
열공하세요^___________^*
by 퓨림노
 

java 를 사용하면서 HashMap 을 사용합니다. 
사용하고자 하는 실제 코드에서는 new 로 생성한 부분이 function 이 끝이 나고나면 값이 제대로 
들어가 있지 않아서 아래와 같은 소스를 작성하여보았습니다. 




[소스코드]  
import java.util.ArrayList;
import java.util.List;

class coorlist
{
	public int x;
	public int y;
}

public class test
{	
	final static int C_COUNT = 50;
	public static void main(String[] args) 
	{
		int i,j;
		int count = 0;
		
		// World List - 'List' 를 담고 있다.
		List> wList = new ArrayList< List >(C_COUNT);
		
		// 미리 1024개 갯수만큼 생성함
		for( i=0; i list = new ArrayList();
			//System.out.println( i + " : " + list.size());
			wList.add(list);
		}

		testFunction( wList );
		printWList( wList );
	}
public static void testFunction( List<List<coorlist>> wlist ){ for( int i=0; i<C_COUNT; i++ ) { List<coorlist> list = wlist.get(i); coorlist cl = new coorlist(); int rand = 1+ (int)(Math.random() *i ); // random for( int j=0; j<rand; j++ ) { int x = 1 + (int)(Math.random() * i); int y = 1 + (int)(Math.random() * i); cl.x = x; cl.y = y; list.add(cl); } } } public static void printWList( List<List<coorlist>> wlist ) { for( int i=0; i<C_COUNT; i++ ) { List<coorlist> list = wlist.get(i); System.out.print( "#" + i + " data(" + list.size() + ") : data = " ); for( int j=0; j<list.size(); j++ ) { System.out.print( " (" + list.get(j).x + ", " + list.get(j).y + ")" ); } System.out.println(); } }
수정이 되는데로 다시 편집합니다.

[출력 결과]

더보기

 

저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노

광고 한번만 클릭 부탁드립니다^^

포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject class Array (클래스 배열 만들기)

최종수정일 : 2011.06.06

Android 에서 사용하는 Java 입니다. 물론 기본 Java 에서 사용하는 문법이나, 때로는 Android 에서 사용되지 않는 패키지도 있습니다. 앞으로도 계속 포스팅 되는 Java code들은 전부 Android 에서 실험하기 위한 소스임을 말씀드립니다. 
C/C++ Code 로만 살아와서 Java의 언어의 특성을 깊이 모릅니다. 어떠한 패키지가 있고 어떠한...부품들이 있는지. 
필요에 따라서 포스팅을 하려고합니다.  많은 도움이 있었으면 합니다. 
열공하세요^___________^*
by 퓨림노


자바에서는 클래스 배열을 만들기위해서 다음과 같이 하면 오류가 발생한다.

 
coorlist cl[] = new coorlist[10];

그래서...다음과 같이 하면 해결된다.
(왠지...C/C++ 에 비해서 무식한 방법 같다.)

 

coorlist clnew[];
		
		for( int i=0; i<10; i++ )
			clnew[i] = new coorlist();


어쩌냐..그래도 ...해야하는데...

[Reference]


저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노

광고 한번만 클릭 부탁드립니다^^

포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject java Function parameter, int Integer

최종수정일 : 2011.06.06

Android 에서 사용하는 Java 입니다. 물론 기본 Java 에서 사용하는 문법이나, 때로는 Android 에서 사용되지 않는 패키지도 있습니다. 앞으로도 계속 포스팅 되는 Java code들은 전부 Android 에서 실험하기 위한 소스임을 말씀드립니다. 
C/C++ Code 로만 살아와서 Java의 언어의 특성을 깊이 모릅니다. 어떠한 패키지가 있고 어떠한...부품들이 있는지. 
필요에 따라서 포스팅을 하려고합니다.  많은 도움이 있었으면 합니다. 
열공하세요^___________^*
by 퓨림노

unction 에 참조로 파라미터를 넘기자.

[소스코드]

import java.util.List;
import java.util.ArrayList; public class test { public static void main(String[] args) { int a[] = new int[1]; a[0] = 1; Integer b=1; System.out.println( "a =" + a[0] + ", b = " + b ); fun( a, b ); System.out.println( "a =" + a[0] + ", b = " + b ); } public static void fun( int a1[], Integer b1 ) { a1[0] = 3; b1 = 5; } }
[Q] 왜 ? Integer 로 넘기면 안되는건가?

출력 결과

a =1, b = 1

a =3, b = 1

저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노

광고 한번만 클릭 부탁드립니다^^

포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject javaCV에서 IplImage 를 double[]로 변환하자

최종수정일 : 2011.06.06

Android 에서 사용하는 Java 입니다. 물론 기본 Java 에서 사용하는 문법이나, 때로는 Android 에서 사용되지 않는 패키지도 있습니다. 앞으로도 계속 포스팅 되는 Java code들은 전부 Android 에서 실험하기 위한 소스임을 말씀드립니다. 
C/C++ Code 로만 살아와서 Java의 언어의 특성을 깊이 모릅니다. 어떠한 패키지가 있고 어떠한...부품들이 있는지. 
필요에 따라서 포스팅을 하려고합니다.  많은 도움이 있었으면 합니다. 
열공하세요^___________^*
by 퓨림노

JavaCV 에서 IplImage 의 char *imageData 를 JavaCV 에서 double[] 형태로 변형하자.
설명은 귀찮으니깐, 소스로 대처함


 
 
IplImage Loadimage = cvLoadImage("u_accelerometer.jpg", 0 ); // gray 로 read

image_double image = new image_double( _image.width(), _image.height() );;
		
byte[] ary  = new byte[_image.width()*_image.height()];
Byte[] Bary = new Byte[_image.width()*_image.height()];
_image.getByteBuffer().get(ary);
 
for( i=0; i<_image.width()*_image.height(); i++)
			Bary[i] = (byte)ary[i]; 

for ( i = 0; i < _image.width() * _image.height(); i++)
{
 image.data[i] = Bary[i].byteValue();
} 
# Reference
저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노

광고 한번만 클릭 부탁드립니다^^

포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject realloc 하기

최종수정일 : 2011.06.06

Android 에서 사용하는 Java 입니다. 물론 기본 Java 에서 사용하는 문법이나, 때로는 Android 에서 사용되지 않는 패키지도 있습니다. 앞으로도 계속 포스팅 되는 Java code들은 전부 Android 에서 실험하기 위한 소스임을 말씀드립니다. 
C/C++ Code 로만 살아와서 Java의 언어의 특성을 깊이 모릅니다. 어떠한 패키지가 있고 어떠한...부품들이 있는지. 
필요에 따라서 포스팅을 하려고합니다.  많은 도움이 있었으면 합니다. 
열공하세요^___________^*
by 퓨림노


C에서는 realloc() 함수를 사용한다.
java에서는 이러한 방법으로 realloc 를 사용한다.
아래를 참조 하도록 하자.
(Android 버전에서는 안된다...ㄷㄷㄷㄷ, 만들어야하는건가 )

 

[소스코드] 

 
import java.util.Arrays;

public class ArrayReallocationDemo {

  public static void main(String[] args) {
    int[] data1 = new int[] { 1, 3, 5, 7, 9 };

    printArray(data1);
    int[] data2 = Arrays.copyOf(data1, 6);
    data2[5] = 11;
    printArray(data2);

    int[] data3 = Arrays.copyOfRange(data1, 2, 10);
    printArray(data3);
  }

  // print array elements
  private static void printArray(int[] data) {
    StringBuilder stringBuilder = new StringBuilder("[");
    for (int i = 0; i < data.length; i++) {
      stringBuilder.append(data[i]);
      if (i < data.length - 1)
        stringBuilder.append(", ");
    }
    stringBuilder.append("]");
    System.out.println(stringBuilder);
  }
}
[Reference]
저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노

광고 한번만 클릭 부탁드립니다^^

포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject java File IO

최종수정일 : 2011.06.06

Android 에서 사용하는 Java 입니다. 물론 기본 Java 에서 사용하는 문법이나, 때로는 Android 에서 사용되지 않는 패키지도 있습니다. 앞으로도 계속 포스팅 되는 Java code들은 전부 Android 에서 실험하기 위한 소스임을 말씀드립니다. 
C/C++ Code 로만 살아와서 Java의 언어의 특성을 깊이 모릅니다. 어떠한 패키지가 있고 어떠한...부품들이 있는지. 
필요에 따라서 포스팅을 하려고합니다.  많은 도움이 있었으면 합니다. 
열공하세요^___________^*
by 퓨림노

Java 에서의 파일 입출력
FileWriter, FileReader 를 사용하는 예제를 보자. 


1. input text file

[Kparameter.txt] 파일 내용

1000.832261 0 500.9043468
0 1000.089078 293.0831139
0 0 1

[주의하자]
글자를 '\t" 탭 간격으로 파일을 저장해 두었다. 
파일을 읽을 때 글자 자르기로 str.split("\t") 를 이용하여 잘라서 sub 변수에 담아두었다.
참고하도록 하자. 

 

[소스코드]

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class test
{	
	public static void main(String[] args) 
	{
		String filename = "kparameter.txt";
		try
		{
			/*
			 * 파일을 write 하기위한 루틴
			FileWriter   fw = new FileWriter(filename);  //파일지정
			BufferedWriter bw = new BufferedWriter(fw);  //출력버퍼지정
			bw.write( "test" + 5 + "\n");
			bw.write( "test" + 5 + "\n");
			bw.write( "test" + 5 + "\n");
			
			bw.close();
			fw.close();
			*/
			
			// - 파일 읽기
			FileReader fr = new FileReader(filename);
			BufferedReader br = new BufferedReader( fr );
			String str = null;
			String[] sub = null;
			
			do{
				str = br.readLine();
				System.out.println(str);
				
				// 글자 자르기 
				sub = str.split("\t");
				
			}while( !(str==null));
			
			br.close();
			fr.close();	
		}
		catch( IOException e ){ }
	}
}


[출력결과]

1000.832261 0 500.9043468

0 1000.089078 293.0831139

0 0 1


아래 URL 을 참조하도록 하자.
String Array 의 사용 방법이다. 
http://www.technical-recipes.com/2011/reading-text-files-into-string-arrays-in-java/
저작자 표시 비영리 동일 조건 변경 허락
Posted by 퓨림노