리스트 데이터 ~

		HashMap<String, String> data = new HashMap<String, String>();
		Calendar cal = Calendar.getInstance();
		SimpleDateFormat fomat = new SimpleDateFormat("yyyy-MM-dd", Locale.KOREA);
		cal.add(cal.DATE, -1);
		String yesterday = fomat.format(cal.getTime());
		JSONArray responseArray = null;
		JSONObject responseObject = null;
		JSONObject responseObject2 = null;
 
		StringBuilder sb = new StringBuilder();
        try{
            String url = "http://host/getCommonSelect?date=" + yesterday;
			URL obj = new URL(url);
			HttpURLConnection con = (HttpURLConnection) obj.openConnection();
			con.setRequestMethod("GET");
			BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
			String line;
			while ((line = br.readLine()) != null) {
				sb.append(line);
				responseObject = new JSONObject(sb.toString());
			}
			responseArray = new JSONArray(responseObject.get("list").toString());
			if (responseArray.length() == 0) {
				throw new Exception();
			}
			for (int i = 0; i < responseArray.length(); i++) {
				responseObject2 = new JSONObject(responseArray.get(i).toString());
				HashMap<String, Object> params = new HashMap<String, Object>();
				params.put("data_name", responseObject2.get("data"));
                
                }
          }catch(Exception e){
          e.printStackTrace();
          }

 

'프로그래밍 > Java,eclipse' 카테고리의 다른 글

http multipartRequest 사진전송,파일전송 (저장용)  (0) 2021.07.15
이해하기 폴리곤 알고리즘  (0) 2019.05.23
eclipse SVN 설치중 오류  (0) 2019.05.02
배경 테마 바꾸기  (0) 2018.10.25
연산자의 종류  (0) 2018.10.25
//보내는부분
private void Fnc(File uploadFile){
try {
			String url = "Http://host/getURL";
			String charset = "UTF-8";
			File binaryFile = uploadFile;
			String boundary = Long.toHexString(System.currentTimeMillis());
			String CRLF = "\r\n";

			URLConnection connection = new URL(url).openConnection();
			connection.setDoOutput(true);
			connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);

			OutputStream output = null;
			try {
				output = connection.getOutputStream();
				PrintWriter writer = new PrintWriter(new OutputStreamWriter(output, charset), true);
				// Send binary file.
				writer.append("--" + boundary).append(CRLF);
				writer.append("Content-Disposition: form-data; name=\"binaryFile\"; filename=\"" + binaryFile.getName() + "\"").append(CRLF);
				writer.append("Content-Type: " + URLConnection.guessContentTypeFromName(binaryFile.getName())).append(CRLF);
				writer.append("Content-Transfer-Encoding: binary").append(CRLF);
				writer.append(CRLF).flush();
				Files.copy(binaryFile.toPath(), output);
				output.flush(); // Important before continuing with writer!
				writer.append(CRLF).flush(); // CRLF is important! It indicates end of boundary.

				// End of multipart/form-data.
				writer.append("--" + boundary + "--").append(CRLF).flush();
			} catch (Exception e) {
				e.printStackTrace();
			}
			int responseCode = ((HttpURLConnection) connection).getResponseCode();
			System.out.println(responseCode); // Should be 200

		} catch (Exception e) {
			e.printStackTrace();
		}
}

//받는부분
@RequestMapping(value = "/getURL", method = RequestMethod.POST)
	private void getURL(HttpServletRequest request, HttpServletResponse response) throws Exception {

		
		MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());
		MultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(request);

		File directory = CommonUtil.getImageDirectory(multipartRequest);

		Iterator<String> iterator = multipartRequest.getFileNames();
		int successCount = 0;
		while (iterator.hasNext()) {
			MultipartFile multipartFile = multipartRequest.getFile(iterator.next());
			multipartFile.getSize();

			String fileName = multipartFile.getOriginalFilename();

			File uploadFile = new File(directory, fileName);
			multipartFile.transferTo(uploadFile);
		}
	

	}
    
    
//디렉터리 생성 유틸

		//로컬
		 ServletContext servlet = request.getSession().getServletContext();
		 String root = servlet.getRealPath("/") + UPLOAD_FOLDER + File.separator;

		//서버
		//String root = "/data" + File.separator + UPLOAD_FOLDER + File.separator;

		System.out.println("root = " + root);

		String dayPath = new SimpleDateFormat("yyMMdd").format(new Date());

		dayPath = root + File.separator + dayPath;

		File dayDirectory = new File(dayPath);
		if (!dayDirectory.isDirectory()) {
			dayDirectory.mkdirs();
		}

		int subCount = dayDirectory.listFiles().length;

		if (subCount == 0) {
			String subPath = dayDirectory + File.separator + subCount;
			File subDirectory = new File(subPath);
			subDirectory.mkdirs();
			return subDirectory;
		} else {
			String subPath = dayDirectory + File.separator + (subCount - 1);
			File subDirectory = new File(subPath);
			if (subDirectory.isDirectory()) {
				if (subDirectory.listFiles().length > 0) {
					subPath = dayDirectory + File.separator + subCount;
					subDirectory = new File(subPath);
					subDirectory.mkdirs();
				}
			} else {
				subDirectory.mkdirs();
			}
			return subDirectory;
		}

 

'프로그래밍 > Java,eclipse' 카테고리의 다른 글

httpConnection 으로 데이터 받기 (저장용)  (0) 2021.07.15
이해하기 폴리곤 알고리즘  (0) 2019.05.23
eclipse SVN 설치중 오류  (0) 2019.05.02
배경 테마 바꾸기  (0) 2018.10.25
연산자의 종류  (0) 2018.10.25

//특정 지점이 해당 폴리곤에 속하는지 검사한다.
public static boolean bCheckPoint (ArrayList list, double x, double y) {
boolean c;
int i, l, j;

   for (c = false, i = -1, l = list.size(), j = l - 1; ++i < l; j = i) {
      HashMap data_i = (HashMap)list.get(i);
      HashMap data_j = (HashMap)list.get(j);
      
      double i_x = Double.parseDouble(String.valueOf(data_i.get("gps_x")));
  double i_y = Double.parseDouble(String.valueOf(data_i.get("gps_y")));
  
  double j_x = Double.parseDouble(String.valueOf(data_j.get("gps_x")));
  double j_y = Double.parseDouble(String.valueOf(data_j.get("gps_y")));
      
  if ( ((i_y <= y && y < j_y) || (j_y <= y && y < i_y)) && (x < (j_x - i_x) * (y - i_y) / (j_y - i_y) + i_x))
  c = !c;
  
  if ((x == i_x && y == i_y) || (x == j_x && y == j_y)){
  c = true;
  }
   }
   return c;
}

 

ArrayList list 값 안에 해당 버퍼 라인을 넣음. 

x,y의 값을 넣어서 폴리곤알고리즘에 속하는지 검사 

- 버퍼라인을 마커를 통해서 찍어서 리스트를 가져와야하고 폴리곤알고리즘의 개념을 이해해야함

- 해당경로를 벗어나면 마커의 모양을 바꾸기 위해서 사용하였음.

eclipse 마켓 검색시 svn 나오지 않고 웹브러우저를 통하여 끌어서 다운로드 할경우에도 

 

the following solutions are not compatible with this version of eclipse 라는 에러문구와 함께 다운로드가 안되는 경우가 있습니다.

 

그럴땐 Help -> Install New Software 를 들어가서 

 

add 버튼을 클릭후 

name : update 

Location: http://download.eclipse.org/technology/subversive/4.0/update-site/

 

${project.name}

 

download.eclipse.org

을 입력하시고 검색창에 svn 을 입력하시어 다운로드 하시면 됩니다.

'프로그래밍 > Java,eclipse' 카테고리의 다른 글

http multipartRequest 사진전송,파일전송 (저장용)  (0) 2021.07.15
이해하기 폴리곤 알고리즘  (0) 2019.05.23
배경 테마 바꾸기  (0) 2018.10.25
연산자의 종류  (0) 2018.10.25
자바 자료형의 종류  (0) 2018.10.25

안녕하세요 자바 를 하다가 눈이 너무 아픈 당신을 위해 글을 써봅니다.



으아 흰색에 장시간 노출되면 눈이 엄청 피로해집니다. ㅠㅠ


윈도우에 preferences 를 클릭해줍니다.



General -> Apperarance 에서

Theme: 와 
color and Font theme: 를 바꿔주시면 



고수느낌이 물씬 나면서 눈도 덜아픈 블랙테마의 이클립스로 바뀌었습니다.











'프로그래밍 > Java,eclipse' 카테고리의 다른 글

이해하기 폴리곤 알고리즘  (0) 2019.05.23
eclipse SVN 설치중 오류  (0) 2019.05.02
연산자의 종류  (0) 2018.10.25
자바 자료형의 종류  (0) 2018.10.25
이클립스 설치하기  (0) 2018.10.25

연산자는 자료의 가공을 위해 정해진 방식에 따라 계산하고 결과를 얻기 위한 기호입니다.


종류



종류

연산자

우선 순위

증감연산자

++ , --

1순위

산술연산자

+, -, *, /, %

2순위

시프트연산자

>>, >>>, <<

3순위

비교연산자

>, <, >=, <=, ==, !=

4순위

비트연산자

&, |, ^, ~

~만 1순위, 나머지는 5순위

논리연산자

&&, ||, !

!만 1순위, 나머지는 6순위

조건(삼항)연산자

?, :

7순위

대입연산자

=, +=, -=, *=, /=, %=

8순위


1) 증감연산자 : ++ (1씩증가) ,-- (1씩감소)

2) 산술연산자 :+ (덧셈), - (뺄셈), * (곱셈), / (나눗셈), % (나머지값) 

3) 시프트연산자 :>> (bit값을 오른쪽으로 이동(빈자리는 부호값 대입)), >>> (오른쪽으로 이동(빈자리는 0으로 대입)), << (왼쪽으로 이동(빈자리는 0으로 대입))

4) 비교연산자 : > (크다), < (작다), >= (크거나 같다), <= (작거나 같다), == (같다), != (같지 않다)

5) 비트연산자 :& (비트단위 AND),| (비트단위OR),^ (비트단위XOR(NOT OR)),~ (비트반전(0->1 , 1->0으로 변경))

6) 논리연산자 :&& (and연산), || (or연산), ! (부정)

7) 조건연산자 : ? : (조건을 만족하면 참 아니면 거짓) (조건?참값:거짓값) 

8) 대입연산자 : = (오른쪽 변수값 왼쪽에 대입), 

+= (오른쪽 변수의 값과 왼쪽의 변수의 값을 더해서 대입),

 -= (오른쪽 변수의 값과 왼쪽의 변수의 값을 뺴서 대입)

*= (오른쪽 변수의 값과 왼쪽의 변수의 값을 곱해서 대입),

 /=  (오른쪽 변수의 값과 왼쪽의 변수의 값을 나눠서 대입),

 %= (오른쪽 변수의 값고 왼쪽의 변수의 값을 나눈 나머지의 값)


**중요** 연산순서) 증감연산자 -> 산술연산자 -> 시프트연산자 -> 비교연산자 -> 비트연산자(~만 1순위) -> 논리연산자(!만 1순위) -> 조건(삼항)연산자 -> 대입연산자




'프로그래밍 > Java,eclipse' 카테고리의 다른 글

eclipse SVN 설치중 오류  (0) 2019.05.02
배경 테마 바꾸기  (0) 2018.10.25
자바 자료형의 종류  (0) 2018.10.25
이클립스 설치하기  (0) 2018.10.25
자바 JDK 설치와 환경설정  (0) 2018.10.24

자바 자료형에는 2가지가 있습니다.


1) 기본자료형 : 컴파일러에 의해 해석이 되는 자료형.

2) 참조 자료형 : 자바 API 에서 제공되거나 다른 프로그래머에 의해                       만들어진 자료형이있습니다.


기본자료형의 종류)

자료형

키워드

크기

기본값

표현 범위

논리형

boolean

1byte

false

true 또는 false (0과1로 대체할 수 없음)

문자형

char

2byte

\u0000

0 ~ 65,535

정수형

byte

1byte

0

-128 ~ 127


short

2byte

0

-32,768 ~ 32,767


int

4byte

0

-2,147,483,648 ~ 2,147,483,647


long

8byte

0

-9,223,372,036,854,775,808

~ 9,223,372,036,854,775,807

실수형

float

4byte

0.0

-3.4E38 ~ + 3.4E38


double

8byte

0.0

-1.7E308 ~ + 1.7E308


1) 논리형 boolean = 불 값이라고 많이 불리고 주로 참거짓을 판명하는데 사용합니다.

2)문자형 char = 'A', '가' 와 같이 문자형 자료를 표현하는데 사용합니다.

3) 정수형 byte(1byte) ,short(2byte), int(4byte), long(8byte) : 크기에 맞는 정수형을 사용합니다. 프로그래밍중 크기에 맞지않는 오류가 나오면 크기가 높은 정수형 자료형을 사용하면 되겠죠 ?

4) 실수형 float(4byte),double(8byte) : 실수형 자료형입니다. 5.4<< 와같이 실수형을 표현하고 싶을때 사용합니다.



'프로그래밍 > Java,eclipse' 카테고리의 다른 글

eclipse SVN 설치중 오류  (0) 2019.05.02
배경 테마 바꾸기  (0) 2018.10.25
연산자의 종류  (0) 2018.10.25
이클립스 설치하기  (0) 2018.10.25
자바 JDK 설치와 환경설정  (0) 2018.10.24

안녕하세요. 

자바 설치에 이어서 오늘은 이클립스를 설치해 보겠습니다.


https://www.eclipse.org/downloads/


이클립스 홈페이지입니다.



홈페이지에서 64비트 다운로드 선택을 눌러주시고



다운로드 클릭해줍니다. 

'

만약.. 속도가 느리다면 다른거울 선택을 누르시면 되겠습니다.



저는 EE 버전을 다운로드 하였습니다.


Java EE (Java Enterprise Edition) : 엔터프라이즈 기반 애플리케이션 개발환경


Install  -> accept Now  -> accept   -> launch


다운로드 경로는 C에 해도 무방하나 컴퓨터의 전체적인 속도 저하가 있을 수 있습니다.


왠만하면 파티션을 구분해 따로 생성하길 권장해 드립니다.


Eclipse 설치가 완료 되었습니다.

'프로그래밍 > Java,eclipse' 카테고리의 다른 글

eclipse SVN 설치중 오류  (0) 2019.05.02
배경 테마 바꾸기  (0) 2018.10.25
연산자의 종류  (0) 2018.10.25
자바 자료형의 종류  (0) 2018.10.25
자바 JDK 설치와 환경설정  (0) 2018.10.24

+ Recent posts