기본 콘텐츠로 건너뛰기

라벨이 JAVA인 게시물 표시

gsjava - Ubuntu JDK(JAVA Development Kit) 17 설치

 1. 자동 설치 - $  sudo apt update - $  sudo apt install openjdk- 17 -jdk 2. 설치 경로 - default :  /usr/lib/jvm/java- [버전] -openjdk-amd64/bin/java 3. 환경 변수 등록 - $  sudo vi /etc/environment PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64" 4. 확인 - $   source /etc/environment - $   echo $JAVA_HOME

gsjava JMX

JMX(Java Management eXtensions)는 응용 프로그램(소프트웨어)/객체/장치 (프린터 등) 및 서비스 지향 네트워크 등을 감시 관리를 위한 도구를 제공하는 자바 API이다. 응용 프로그램(소프트웨어)/객체/장치, 서비스 지향 네트워크는 MBean(Managed Bean)이라는 객체로 표현된다.

Java ArrayList 생성,추가,삭제,변경 방법

ArrayList arrBt = new ArrayList (); //선언 arrBt .add(new Bitmap());        //새로 생성해서 추가 arrBt .add(new Bitmap(1,2));   //파라미터를 받을때 int n = arrBt .size();                 //ArrayList에 저장된 갯수 arrBt .get(index);                    //인덱스번째 데이터를 가져오기 arrBt .remove(index);              //인덱스번째 데이터 삭제 arrBt .clear();                          //모든 데이터를 삭제하고 초기화

java 난수 발생하기

1. 지정 범위까지 난수 발생 하기 public class Example {   public static void main(String[] args) {     // 3에서 12까지 범위의 정수를 랜덤하게 20개 출력     for (int i = 1; i <= 20; i++)       System.out.println(randomRange(3, 12));   }   // 지정된 범위의 정수 1개를 램덤하게 반환하는 메서드   // n1 은 "하한값", n2 는 상한값   public static int randomRange(int n1, int n2) {     return (int) (Math.random() * (n2 - n1 + 1)) + n1;   } }

java 배열 사용 방법

List listA = new ArrayList(); listA.add("김삿갓"); listA.add("홍아리"); listA.add(new String("홍길동")); listA.add(1, "1번째 요소값"); // 인덱스를 통한 조회 String element0 = listA.get(0).toString(); String element1 = listA.get(1).toString(); String element3 = listA.get(2).toString(); //Iterator 통한 전체 조회 Iterator iterator = listA.iterator(); while (iterator.hasNext()) {     String element = (String) iterator.next();     } //for-loop 통한 전체 조회 for(Object object : listA) {     String element = (String) object; }

java 특정 디렉토리에 있는 파일 목록을 읽어내기, 정렬해서 가져오기

폴더 리스트 가져오기 String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Defaul...

java 도메인(Domain)을 IP로 변환하는 법

다음 팁은 도메인(Domain)을 IP로 변환하는 팁입니다. 서버에 접속해야 하는 클라이언트가 서버 IP를 알아야 하는 경우에 사용하실 수 있습니다. import java.net.InetAddress; import java.net.UnknownHostException; public class DomainToIp { public static void main(String args[]){ try {          InetAddress addr = InetAddress.getByName("froginpot.tistory.com");        byte[] ipAddr = addr.getAddress();          // IP 형식으로 변환        String ipAddrStr = "";        for (int i=0; i 0) {                ipAddrStr += ".";            }            ipAddrStr += ipAddr[i]&0xFF;        }              System.out.println("IP : " + ipAddrStr);          } catch (UnknownHostException e) {     System.out.pri...

java 시스템 시간

long time = System.currentTimeMillis();  SimpleDateFormat dayTime = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); //구분자 없이 사용할려면... //SimpleDateFormat dayTime = new SimpleDateFormat("yyyyMMddHHmmss"); String str = dayTime.format(new Date(time)); System.out.println(str); long start = System.currentTimeMillis() ;  new trunc_tweet_tag("./message/"); long end = System.currentTimeMillis();  System.out.println((end-start)/1000 +" 초 걸림");

[Java] Http File Download 이어받기

Http 서버로부터 다운로드 받는 파일을 이어받기 위해서는 Http Header에 아래 두가지 정보를 추가해 주면 된다. URLConnection conn = url.openConnection(); conn.setRequestProperty("Accept-Ranges", "bytes"); conn.setRequestProperty("Range", "bytes=" + mOffset + "-"); 그러면 서버에서는 해당 Offset으로부터 File을 다운로드 시켜준다. 클라이언트가 요청헤더에 Range 필드를 포함 시켜서 보내면, 서버는 그 정보를 가지고 어디서 부터 파일을 보낼지 판단을 합니다. 하지만 클라이언트가(브라우저) Range 필드를 포함 시켜야 할지를 판단하는 기준은 최초 다운로드 요청시 서버의 응답헤더에 따라 다음 요청헤더에 Range 헤더를 생성할지 않할지 판단하게 됩니다. 그걸 당락짓는 응답 헤더 필드는 다음과 같습니다. Accept-Ranges , ETag, Last-Modified 반드시 위 필드를 응답 헤더에 같이 보내줘야 클라이언트는 다음 요청시 Range헤더를 포함시켜 보내게 됩니다. 참고로 말씀 드리면 위 필드를 포함 시켜서 보내더라도 value는 반드시 " " 로 묶어서 보내야 합니다. 안그러면 브라우저는 죽어도 Range 필드를 생성시키지 않습니다. HTTP 1.1 스펙은 따옴표를 강제적으로 해줘라 이런 내용 없습니다. 자바기준 40byte의 파일이라치면 클리이언트 요청을 두번으로 나누었다치면 이케 connection.setRequestProperty("Range", "bytes=0-20"); connection.setRequestProperty("Range", "bytes=20-40"); 단 co...

자바스크립트 null 비교하기

alert(null == undefined); //true alert(null === undefined); //false alert(true == 1); //true alert(true === 1); //false alert(true == '1');  //true alert(true === '1'); //false alert(0 === -0); //true alert(NaN === NaN); //false null과 undefined는 값이 없다는 의미의 데이터 형이다. null은 값이 없음을 명시적으로 표시한 것이고, undefined는 그냥 값이 없는 상태라고 생각하자. NaN은 0/0과 같은 연산의 결과로 만들어지는 특수한 데이터 형인데 숫자가 아니라는 뜻이다.

[java] 파일 존재 유무

import java.io.*; public class Example {   public static void main(String[] args) {     File f = new File("test.txt");     // 파일 존재 여부 판단     if (f.isFile()) {       System.out.println("OK 파일 있습니다.");     }     else {       System.out.println("그런 파일 없습니다.");     }     File d = new File("000");     // 디렉토리 존재 여부 판단     // 만약 exists() 메소드를 사용하면,     // 000 이라는 "파일"이 있어도 OK 가 나옴     if (d.isDirectory()) {       System.out.println("OK 디렉토리가 있습니다.");     }     else {       System.out.println("그런 디렉토리가 없습니다.");     }   } }

Java SFTP 사용

1. jar(jsch-0.1.54.jar) 다운 http://www.jcraft.com/jsch/ 2. 소스 예제 파일업로드 예시. --------------------------------------------------------- import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import com.jcraft.jsch.SftpException; //    private 로 선언해줌. private Session session = null; private Channel channel = null; private ChannelSftp channelSftp = null; //    sftp 연결.  /**      * 서버와 연결에 필요한 값들을 가져와 초기화 시킴      * @param host      *            서버 주소      * @param userName      *            접속에 사용될 아이디      * @param password      *            비밀번호      * @param port      *           ...

JAVA Date -> String 형변환

String to Date String from = "2013-04-08 10:10:10"; SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date to = transFormat.parse(from); Date to String Date from = new Date(); SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String to = transFormat.format(from);

HtmlUnit

다운로드: https://sourceforge.net/projects/htmlunit/ 샘플 소스 http://htmlunit.sourceforge.net/xref-test/com/gargoylesoftware/htmlunit/html/HtmlSelectTest.html 이클립스 jar파일을 다운로드 받아 이클립스 프로젝트 build path에 추가해주자 build path 프로젝트를 선택후 Alt + Enter 를 누르면 Properties가보이고 왼쪽 목록에 Java Build Path 가 보일겁니다. 보통 JAR 파일을 프로젝트에 넣을때, 이렇게 사용합니다. 방법 1 : - 프로젝트 안에 lib 라는 새 폴더 만들기 (이름은 아무거나) - 그 안에 jar 파일 넣기 - 이클립스에서 refresh 하면 폴더가 보여짐 - jar 파일을 모두 선택한후에 , 오른쪽 클릭 -  Build Path - Add to Build Path 클릭하면 끝 - 이클립스에서 Referenced Libraries 에 보여질것임. 방법 2 : - 프로젝트 안에 lib 라는 새 폴더 만들기 (이름은 아무거나) - 그 안에 jar 파일 넣기 - 이클립스에서 refresh 하면 폴더가 보여짐 - Project -> Select Build Path -> Select Configure Build Path -> Library   Add Jars .. 로  lib 폴더 안의 jar 파일   선택함 - 이클립스에서 Referenced Libraries 에 보여질것임. import java.io.OutputStream; import java.io.PrintStream; import java.util.List; import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftwar...

이클립스 안드로이드 SDK 설치 하기

1. 이클립스 설치하기 http://createlee75.blogspot.kr/2016/10/java-hello-world.html * Help - install New Software 클릭 * 플러그인 설치 설치하기 Add 클릭하기 * Name:ADT * Location:   https://dl-ssl.google.com/android/eclipse/ * Next 눌러서 설치 완료 * 이클립스가 재시작됩니다. * 안드로이드 SDK 설치 그러면 안드로이드 SDK를 찾게 됩니다. https://developer.android.com/studio/index.html * Windows에서 zip 버전을 다운 받아서 압축을 풀구 위치를 선택한다. * 원하는 버전의 SDK를 설치하면 개발 준비 끝 * 로그 남기기 레벨 Log.v(TAG,"Log Level : Verbose"); Log.d(TAG,"Log Level : Debug"); Log.i(TAG,"Log Level : Info"); Log.w(TAG,"Log Level : Warning"); Log.e(TAG,"Log Level : Error"); logcat 이용방법: http://cluster1.cafe.daum.net/_c21_/bbs_search_read?grpid=1MWA2&fldid=aAfL&datanum=68 안드로이드 스튜디오 설치하기 https://developer.android.com/studio/index.html

이클립스 Java Hello World 내가 실전에서 필요해서 찾는 함수들

진행 순서 1. 이클립스 설치 2. Project 생성 3. Hello World 작성 4. 실행 5. 자바 실전 도움 예제 ************ 시작 **************** 1. 이클립스 다운 http://www.eclipse.org/downloads/ 64비트 선택후 다운로드 후 설치 *  Java 개발을 할꺼기 때문에 두번째 선택 * 설치 경로를 선택후 Install 클릭 * Launch 클릭 하면 이클립스가 실행됩니다. 2. 실행후 Project 생성 *File - New - Project  - Select a wizard    - Java      - Java Project 선택 * File -> New -> Class 추가 * Name 입력후 Finish 3. 코딩 시작 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } } 4. Run(Ctrl + F11) * 업무시 필요한 자바 개발 정보 폰트명 : Bitstream Vera Sans Mono * 이클립스 실행시 메모리 부족 나오는 경우 이클립스 설치 폴더로 이동 eclipse.ini -Xms256m -Xmx1024m 이부분을 바꾸어 준다. Xms1024m 은 Heap영역의 시작크기를 나타내고, Xmx1024m 은 Heap영역의 최대크기를 나타 냅니다. * 이클립스 자동정렬 단축키 Ctrl + SHIFT+ F * 자바 배열 선언 및 0으로 초기화 int [] num = new int[6]; *지정...

안드로이드 Google play service

1. Android SDK Manager에서 Extras-> Google Play service  설치 2. 이클립스 Workspace에 추가 File->New->Android Project From Eisting Code 선택 sdk 설치 위치 선택한다.