2019.06.16 22:59


Context is removed when activity called onDestroy().

So when after called context, It goes to error.

So please reference next solution code.

 

# Example Resolution Code

if ( context instanceof Activity ) {
    Activity activity = (Activity)context;
    if ( activity.isFinishing() ) {
        return;
    }
}
Toast.makeText(context, "I'll do things here that depend on my context and views being valid", Toast.LENGTH_SHORT).show();

 

 

#Reference Link

https://stackoverflow.com/questions/7856103/how-can-i-tell-if-my-context-is-still-valid



Posted by injunech
2019.06.15 10:37


Exo 2.0 폰트는 Exo 폰트의 업그레이드 버전으로 
사이버틱하면서 미래적인 느낌을 힘있으면서도 세련되게 표현된 폰트 입니다.
 sf영화에 잘 어울릴것 같은 느낌이죠?

IT 기기에 관한 디자인이나 미래적인 느낌의 이미지와 함께 사용하기에 좋을것 같습니다.
9가지 두께가 준비되어 있고 각 두께마다 기울임글꼴(italic)을 가지고 있어
총 18가지의 다양한 스타일이 준비되어 있습니다.



Exo 2.0 Thin
Exo 2.0 Extra Light
Exo 2.0 Light
Exo 2.0 Regular
Exo 2.0 Medium
Exo 2.0 Semi Bold
Exo 2.0 Bold
Exo 2.0 Extra Bold
Exo 2.0 Black

X

각각의 기울임꼴(ITALIC)



Exo 2.0 폰트 굵기별 미리보기

Exo 2.0 기본 9가지 굵기 Thin~Black 
굵은 글꼴로 갈수록 사이버틱한 느낌이 더해지는 것 같습니다.

Exo 2.0 기울임 글꼴 9가지 굵기 Thin~Black 

Exo 2.0 기본 글꼴 9가지 굵기 Thin~Black  숫자
숫자 폰트 역시 사이버틱,미래적인 느낌으로 
각종 IT관련 디자인에 유용하게 쓰일것 같네요.


Exo 2.0 기울임 글꼴 9가지 굵기 Thin~Black  숫자



Exo 2.0 폰트 무료 다운로드

상업적으로 이용할수 있습니다.
원하시는 분들은 아래 링크를 클릭하시면 다운받을수 있습니다.
http://www.1001fonts.com/exo-2-0-font.html

Exo 2.0 Font Family · 1001 Fonts

www.1001fonts.com

 


주의사항
상업적인 무료 폰트라 하더라도
모든 상업적 부분에서 사용할수 있는 무료 폰트는 아닐 수도 있습니다.
변형금지,재배포금지 등의 조건이 붙어 있을 수도 있고 
사용을 제한하는 특정 매체를 지정하기도 합니다.
상업적으로 사용하시기 전 정확한 라이센스를 꼭 확인 하세요.

 

 

[출처] EXO 2.0 사이버틱한 무료 영문 폰트(상업적이용가능)



Posted by injunech
2019.06.15 10:36


TTF와 OTF 파일 차이

  • TTF : 애플과 마이크로소프트가 함께 만든 폰트 파일 형식. 주로 문서작업에 유용. 비교적 속도가 빠르지만 곡선처리가 미흡.
  • OTF : 마이크로소프트와 어도비가 합작해 만든 폰트 파일 형식. 그래픽 디자인 출력에 유용. 비교적 속도가 느리지만 곡선표현이 섬세. (다만, 오히려 일반 모니터 화면에서는 곡선 구현방식으로 인해 다소 매끄럽지 않게 보일 수 있음)



상업용 무료 폰트를 써야하는 이유

보통 인터넷에 널린 폰트들은 ‘비상업적인’ 행위로 쓸 때만 무료인 폰트다. 즉, 그 폰트를 이용해 창작물을 만들어 인터넷, 출판, 간판, 혹은 그 어떤 곳에 배포할 경우 법무법인의 합의금 요구 전화를 받을 수 있다. 보통 100만 원 이상을 요구한다고 하니, (무죄로 나온 판례가 있다고 할지라도) 상업적으로도 무료 사용 가능한 폰트를 사용하도록 하자. 다만, 아래 폰트들도 상업적 사용 라이센스의 세부사항이 다르니 잘 살펴보고 사용하도록 하자.

 

* 명조체, 고딕체 계열들은 다 비슷비슷하게 생겼기 때문에 다른 페이지에 따로 몰아 넣어두었다. (☞ 바로가기)

 

 

 

윤디자인 시리즈

월인석보체(Wolin.TTF) | 다운로드 | #붓글씨


 

 

 

 

간이벽온방체(Kanibuk.TTF) | 다운로드 | #붓글씨


 

 

 

윤고래체(YunTaemin.ttf) | 다운로드 | #펜글씨


 

 

 

김남윤체(KimNamyun.ttf) | 다운로드 | #펜글씨


 

 

 

이숲체(LeeHyunJi.ttf) | 다운로드 | #펜글씨


 

 

 

한둥근제목 | 다운로드


 

 

 

독도체 | 다운로드 | #붓글씨


 

 

 

법정체 | 다운로드 | 법정스님의 붓글씨에서 따온 서체 #붓글씨


 

 

 

밝은체 | 다운로드 | 약간 해리포터 서체와 비슷한 느낌이다 #펜글씨


 

 

 

예쁜 손글씨 공모(다정) | 다운로드 | #펜글씨


 

 

 

예쁜 손글씨 공모(민준) | 다운로드 | #붓글씨


 

 

 

예쁜 손글씨 공모(세희) | 다운로드 | #펜글씨


 

 

 

예쁜 손글씨 공모(아혜) | 다운로드 | #펜글씨


 

 

 

예쁜 손글씨 공모(지영) | 다운로드 | #펜글씨


 

 

 

 

예쁜 손글씨 공모(지희) | 다운로드 | #펜글씨


 

 

 

예쁜 손글씨 공모(형오) | 다운로드 | #펜글씨


 

 

 

예쁜 손글씨 공모(흥수) | 다운로드 | #펜글씨


 

 윤디자인 시리즈 상세 라이센스


 

 

배달의 민족 시리즈

연성체 | 다운로드 | 옛날 간판 모티브 | #붓글씨


 

 

 

도현체 | 다운로드 | 옛날 간판 모티브


 

 

 

한나는11살체 | 다운로드 | 옛날 간판 모티브


 

 

 

한나체 Air | 다운로드


 

 

 

주아체 | 다운로드 | 옛날 간판 모티브


 

 

 

기랑해랑체 | 다운로드


 배달의 민족 시리즈 라이센스 상세보기


 

 

 

둥근모꼴+Fixedsys | 다운로드 | 옛날 80~90년대 pc통신, 오락기 등에 쓰이던 도트 폰트. 가끔 전광판에서도 쓰인다.


 둥근모꼴+Fixedsys 라이센스 상세보기

 

 

 

제주한라산체 | 다운로드  | #붓글씨


 제주서체 시리즈 라이센스 상세보기


 

 

 

스웨거체 | 다운로드 | 스웨거 로고에 직접 사용되는 폰트


 스웨거체 라이센스 상세보기

 

 

 

네이버 나눔 글꼴 시리즈

나눔바른펜 | 다운로드 | #펜글씨


 

 

 

나눔펜 | 다운로드 | #펜글씨


 

 

 

나눔손글씨 붓체 | 다운로드 | #펜글씨


 네이버 나눔 글꼴 시리즈 라이센스 상세보기


 

 

 

이순신 | 다운로드 | 이순신 난중일기의 한문서체를 모티브 | #붓글씨


 이순신체 시리즈 라이센스 상세보기

 

 

 

도서관체 | 다운로드 | 국립중앙도서관이 로고로 쓰는 폰트.


 도서관체 라이센스 상세보기

 

 

 

고양체 | 다운로드 | #펜글씨


 고양체 라이센스

 

 

 

김제시체 | 다운로드


 김제시체 라이센스 상세보기

 

 

 

만화진흥원체 | 다운로드 | #펜글씨


 만화진흥원체 라이센스 상세보기

 

 

 

포천서체 시리즈

포천 막걸리체 | 다운로드 | #붓글씨


 

 

 

포천 오성과 한음체 | 다운로드


 포천 막걸리체 라이센스 상세보기


 

 

 

부산바다체 | 다운로드 | 

 부산바다체.ttf | 기존 부산체의 문제점을 수정한 폰트(현대카드 폰트와 비슷한 느낌이다. 다만, 현대카드 폰트는 상업적 이용이 불가능하다)


 부산바다체 라이센스 상세보기

 

 

 

EBS 서체 시리즈

EBS 훈민정음 | 다운로드 훈민정음 창제와 더불어 목판으로 제작된 해례본체의 기본형과 주요특징을 유지 | #붓글씨


 

 

 

EBS 훈민정음 새론체 | 다운로드 ‘EBS 훈민정음’의 가독성을 보완하여 현대적으로 개선 | #붓글씨


 

 

 

EBS 주시경체 | 다운로드


 EBS 서체 시리즈 라이센스 상세보기


 

 

 

유토이미지 시리즈

유토이미지체 | 다운로드 | 회원가입 필요


 

 

 

유토이미지 나무체 | 다운로드 | 회원가입 필요


 

 

 

 

유토이미지 손글씨체 | 다운로드 | 회원가입 필요 | #펜글씨


 

 

 

123rf | 다운로드 | 회원가입 필요


 

 

 

제주감귤 | 다운로드 | 회원가입 필요


 

 

 

하르방 | 다운로드 | 회원가입 필요


 

 

 

봉숭아틴트 | 다운로드 | 회원가입 필요


 

 

 

플라워 | 다운로드 | 회원가입 필요


 

 

 

꼬마나비 | 다운로드 | 회원가입 필요


 

 

 

빨간우체통 | 다운로드 | 회원가입 필요


 

 

 

꽃보다 곰팅 | 다운로드 | 회원가입 필요


 

 

 

쇼콜라 라떼 | 다운로드 | 회원가입 필요


 

 

 

뉴욕커 | 다운로드 | 회원가입 필요


 

 

 

차오츄르 | 다운로드 | 회원가입 필요


 

 

 

별나라달님 | 다운로드 | 회원가입 필요


 

 

 

봄이조아 | 다운로드 | 회원가입 필요


 

 

 

미니콩다방 | 다운로드 | 회원가입 필요


 

 

 

리틀베어 | 다운로드 | 회원가입 필요


 유토이미지 시리즈 라이센스 상세보기


 

 

 

야놀자 야체 | 다운로드 | #펜글씨


 야체 라이센스 상세보기

 

 

 

가비아 폰트 시리즈

가비아 솔미체 | 다운로드 | #펜글씨


 

 

 

가비아 봄바람체 | 다운로드 | #펜글씨


 

 

 

가비아 납작블럭체 | 다운로드 | 납작펜으로 쓴듯한 캘리그라피 폰트 #펜글씨


 가비아 폰트 시리즈 라이센스 상세보기


 

 

 

미생체 | 다운로드 | #펜글씨


 미생체 라이센스 상세보기

 

 

 

고도 디자인 시리즈

고도체 | 다운로드


 

 

 

고도 라운디드체 | 다운로드


 

 

 

고도 마음체 | 다운로드


 고도체 라이센스 상세보기


 

 

 

롯데마트 행복체 | 다운로드 | 사업적 사용시 롯데마트의 명시적 승인이 필요함


 롯데마트 서체 시리즈 라이센스 상세보기

 

 

 

더페이스샵 잉크립퀴드체 | 다운로드 | #펜글씨


 잉크립퀴드체 라이센스 상세보기

 

 

 

티몬 글꼴 시리즈

티몬 몬소리체 | 다운로드


 

 

 

티몬 티움체 | 다운로드


 티몬 글꼴 시리즈 라이센스 상세보기


 

 

 

tvN 즐거운 이야기체 | 다운로드 | #펜글씨


 tvN 즐거운 이야기체 라이센스 상세보기

 

 

 

큐트신민상 | 다운로드 | #펜글씨


 큐트신민상 라이센스 상세보기

 

 

 

호국체 | 다운로드


 호국체 라이센스 상세보기

 

 

 

빛고을광주체 | 다운로드


 빛고을광주체 라이센스 상세보기

 

 

 

유미주의적 달필가 시리즈

Monopoly | 다운로드


 

 

 

HS봄바람체 2.0 | 다운로드


 

 

 

HS여름물빛체 | 다운로드


 

 

 

HS가을생각체 | 다운로드


 

 

 

HS겨울눈꽃체 | 다운로드


유미주의적 달필가 라이센스는 각 다운로드 페이지 참고


 

 

 

빙그레 시리즈

빙그레체 | 다운로드


 

 

 

빙그레체2 | 다운로드


 

 

 

빙그레 따옴체 | 다운로드


빙그레 시리즈 라이센스 상세보기


 

 

 

경기도 서체 시리즈

경기천년제목 | 다운로드


 

 

 

경기천년바탕 | 다운로드


 경기도 서체 시리즈 라이센스 상세보기


 

 

 

전주완판본체 각 | 다운로드1 다운로드2


 

 

 

전주완판본체 순 | 다운로드1 다운로드2


 전주완판본체 라이센스 상세보기

 

 

 

안경잡이체 | 다운로드


 안경잡이체 라이센스 상세보기

 

 

 

동그라미재단 서체 | 다운로드


 동그라미재단 서체 라이센스 상세보기

 

 

 

다래손글씨체 | 다운로드


다래손글씨체 라이센스는 다운로드 페이지 참고

 

 

 

Tlab font 시리즈

KCC 김훈체 | 다운로드1 다운로드2 | CC 규정에 따라 반드시 저작자 출처를 밝히고 사용할 것 #펜글씨


 

 

 

KCC 은영체 | 다운로드1 다운로드2 | CC 규정에 따라 반드시 저작자 출처를 밝히고 사용할 것 #펜글씨


 

 

 

Tlab 신영복 | 다운로드1 다운로드2


Tlab 폰트 시리즈 라이센스는 각 다운로드 페이지 참고


 

 

 

태시스템 시리즈

태으뜸 | 다운로드


 

 

 

태조각 | 다운로드


 

 

 

태흘림 | 다운로드 | #필기체


 태시스템 시리즈 라이센스 상세보기


 

 

 

넷마블체 | 다운로드


 

 

 

여기어때.잘난체 | 다운로드


 

 

 

다온 시리즈

다온 한글재미 | 다운로드


 

 

 

다온 한글조아 | 다운로드


 

 

 

다온 시원둥근고딕 | 다운로드


 

 

 

다온 한글소리 | 다운로드


 

 

 

다온 한글나무 | 다운로드


 

 

 

다온 한글내음 | 다운로드


 

 

 

다온 한글다움 | 다운로드


 

 

 

다온 한글튼튼 | 다운로드


 

 

 

다온 한글사랑 | 다운로드


 

 

 

철기시대 | 다운로드


 

 

 

남양주 다산 | 다운로드


 

 

 

GS칼텍스 시리즈

독립서체 윤봉길 | 다운로드


 

 

 

독립서체 윤동주 별헤는 밤 | 다운로드


 

 

 

독립서체 윤동주 서시 | 다운로드


 

 

 

독립서체 백범 김구 | 다운로드


 

 

 

독립서체 한용운 | 다운로드


 GS칼텍스 시리즈 라이센스


 

 

 

> 명조/고딕 계열 무료 폰트 더보기


출처: https://hellchosun.net/



Posted by injunech
2019.06.13 09:52


 Java로 작성할 프로그램을 exe 실행파일로 만들기입니다.

 

실행파일로 만들어주는 프로그램들중 제가 알고있는건 JSmooth, exe4j, Launch4j 3가지 인데요.

 

이 중에서 Launch4j가 작성한 프로그램을 완벽하게 wrapping 해주기 때문에 디코딩될 걱정을 덜어준다는 메리트가 있어서

 해당 프로그램을 사용해볼까 합니다.

 

 

 

1. 다운로드


 

(Lauch4J 공식 홈페이지 : http://launch4j.sourceforge.net/)

 

위의 링크를 통하여 Launch4J의 공식홈페이지로 가서 Download를 클릭합니다.

 

 

 

상단의 화면에서 자신의 OS에 맞게 다운로드를 합니다. (저는 상단의 Download launch4j-3.11-win32.exe 를 선택했습니다.)

 

 

 

2. 설치


 

다운로드가 완료됐습니다. 실행시킵니다.

 

다음!

 

동의함!

 

설치! 를 누르시면 설치가 진행되며 끝납니다.

 

 

 

3. 실행 (exe 만들기)


이전 포스팅에서 만들었던 jar 파일을 쓸 때가 왔습니다.

(참고 포스팅> CMD창에서 실행가능한 jar파일 생성하기 http://jinunthing.tistory.com/6)

 

Launch4j 를 실행시키면 나타나는 화면입니다.

 

 

Basic탭에서

Output file에는 exe파일이 나오게 될 경로를 적어주시면 되고

Jar에는 exe파일로 생성할 jar파일을 선택하시면 됩니다.

 

 

 

다음은 Classpath탭입니다.

 

Custom classpath 체크박스를 활성화 시키시면 작성이 가능합니다.

(저는 이미 전 포스팅때 설정을 해놓았기에 따로 적지 않았습니다.)

 

 

 

Header 탭입니다.

 

작성하신 프로그램이 GUI타입이라면 GUI를 콘솔타입이시라면 Console에 체크를 하셔야

프로그램이 정상적으로 실행됩니다.

 

 

 

JRE 탭입니다.

 

하단의 Min JRE version에 1.6.0 버전을 적었습니다.

해당 칸을 비울 시 exe파일로 변환이 되지 않습니다.

 

 

 

Version Info 탭입니다.

 

Add version information 체크박스를 활성화 시키면 기입이 가능하게 되며

굳이 적지 않으셔도 됩니다.

 

설정을 마치셨다면 왼쪽 위 톱니바퀴 버튼을 클릭합니다.

 

 

 

톱니바퀴 버튼을 누르고 나면 나오는 저장 화면 입니다.

 

지금까지 새롭게 입력한 값을 저장하는 화면입니다.

파일 이름을 적으시고 아무데나 저장하셔도 됩니다.

 

 

 

저장 버튼을 누르고 난 후 Launch4j 화면 하단의 Log창입니다.

 

Successfully created C:\Java\Server.exe 를 보실 수 있습니다.

 

 

 

※만약 실행하는 컴퓨터에 JRE가 설치되어있지 않다면 경고메시지가 뜨며 Java 홈페이지를 띄웁니다!

 

드디어 jar파일로 exe 파일 만들기를 마쳤습니다.

감사합니다^^

 

 

출처 : https://jinunthing.tistory.com/



Posted by injunech
2019.06.11 00:06


[VBS] Space 포함된 파일 실행하기

Space가 포함된 파일을 VBS 의 WScript.Run 을 수행하여 호출하면 정상적으로 동작이 수행되지 않고 에러가 발생한다.

이유는 파일 경로상에 공백이 존재하는 경우 이를 Script에서 인지하지 못하고 에러가 발생한다.

(VBS 문법 자체가 띄어쓰기만으로 매게변수를 구분함)

따라서 쌍따옴표 (Double Quotes) 로 묶어주면 정상적으로 동작이 가능하다.

 

아래 스크립트는 띄어쓰기가 포함된 파일명을 매게변수로 전달받으면

전체 띄어쓰기를 Argument 값에 넣지 못하므로 ::: 이라는 띄어쓰기 대체용 문자를 교체하고

파일 전체 경로 양쪽 끝에 Quote 으로 묶어서 수행해주는 동작을 하는 예제이다.

 

# Example.vbs

Set WshShell = WScript.CreateObject("WScript.Shell")

Dim ArgCount, FilePath, temp
Const Quote = """"

Set Arg = WScript.Arguments
ArgCount = WScript.Arguments.Count

If ArgCount >= 1 Then
	temp = Arg(0)
	FilePath = Replace(temp, ":::"," ")
End If

WshShell.Run(Quote & FilePath & Quote)
WScript.Sleep(2000)

Set WshShell = Nothing

 

 > Example.vbs C:\Users\choi\Desktop\Test 1 2 3\music.mp3

 위와같이 수행할 목적이나 띄어쓰기를 전송시에 Arguement 구분이 힘들기 때문에 아래와 같이 Space를 ::: 으로 변경해주는 사전 동작이 필요하다. (만약 띄어쓰기 포함된 Arguement 만으로 수행하려면 이와 다른 방안으로 구현 필요)

 > Example.vbs C:\Users\choi\Desktop\Test:::1:::2:::3\music.mp3

 위와 같이 변경해서 스크립트 수행시 잘 동작 한다.

 

'Computer > VBS (Visual Basic Script)' 카테고리의 다른 글

[VBS] Space 포함된 파일 실행하기  (0) 2019.06.11
[VBS] WshShell.SendKeys  (0) 2019.05.23
[VBS] Process Find and Activate  (0) 2019.05.23
VB스크립트란 (VBS란)  (0) 2019.05.22


Posted by injunech
2019.06.09 13:07


File 클래스 정리

java.io 패키지는 기존의 파일이나 폴더에 대한 제어를 하는 데 사용하는 File 클래스를 제공한다. 이 클래스를 이용해서 파일과 폴더에 대한 다양한 기능을 제공한다.

 

파일을 나타내는 객체를 생성하려면 다음과 같은 File 클래스의 생성자 함수를 이용한다.

 

* File 클래스의 생성자

File 클래스의 생성자 

 설명

File(File parent, String Child) 

 parent 객체 폴더의 child 라는 파일에 대한 File 객체를 생성한다.

File(String pathname) 

 pathname에 해당되는 파일의 File 객체를 생성한다. 

File(String parent, String, child) 

 parent 폴더 경로의 child라는 파일에 대한 File 객체를 생성한다.

File(URI uri)

 file uri 경로에 대한 파일의 File 객체를 생성한다. 

 

* File 클래스의 메소드

File 클래스의 메소드 

설명 

 File getAbsoluteFile()

 파일의 절대 경로를 넘겨준다. 

 String getAbsolutePath() 

 파일의 절대 경로를 문자열로 넘겨준다. 

 File getCanonicalFile() 

 파일의 Canonical 경로를 넘겨준다. 

 String getCanonicalPath()

 파일의 Canonical 경로를 문자열로 넘겨준다. 

 String getName()

 파일이나 폴더의 이름을 넘겨준다. 

 String getParent() 

 부모 경로에 대한 경로명을 문자열로 넘겨준다. 

 File getParentFile()

 부모 폴더를 File의 형태로 리턴한다. 

 String getPath() 

 파일의 경로를 문자열의 형태로 리턴한다. 

 long getTotalSpace() 

 하드디스크의 총 용량을 리턴한다.

 long getUsableSpace()

 하드디스크의 사용 가능한 용량을 리턴한다.

 long getFreeSpace()   하드디스크의 남은 공간을 리턴한다.

 int hashCode()

 hash code를 반환한다. 

 long lastModified() 

 해당 경로 파일의 최종 수정 일자를 반환한다. 

 long length()

 해당 경로 파일의 길이를 반환한다. 

 Path toPath()

 java.nio.file.Path 객체로 반환한다. 

 URI toURI() 

 URI 형태로 파일 경로를 반환한다. 

 File[] listRoots()

 하드디스크의 루트 경로를 반환한다. 

 String[] list() 

 경로의 파일들과 폴더를 문자열 배열로 반환한다. 

 String[] list(FilenameFilter filter) 

 filter에 만족되는 파일들과 폴더 이름을 문자열 배열로 반환한다. 

 File[] listFiles() 

 해당 경로의 파일들과 폴더의 파일을 배열로 반환한다. 

 File[] listFiles(FileFilter filter) 

 filter에 만족되는 파일들과 폴더를 File 배열로 반환한다. 

 File[] listFiles(FilenameFilter filter)

 filter에 만족되는 파일들과 폴더를 File 배열로 반환한다. 

 

* File 생성/수정/삭제 메소드

File 생성 수정 삭제 메소드 

 설명

 boolean createNewFile()

 주어진 이름의 파일이 없으면 새로 생성한다.

 static File createTempFile(String prefix, String suffix) 

 default temporary-file 디렉토리에 파일 이름에 prefix와 suffix를 붙여  임시파일을 생성한다.

 static File createTempFile(String prefix, String suffix, File directory) 

 새로운 임시파일을 파일 이름에 prefix와 suffix를 붙여 directory 폴더에 생성한다.

 boolean delete()

 파일이나 폴더를 삭제한다. 단, 폴더가 비어있지 않으면 삭제할 수 없다. 

 void deleteOnExit() 

 자바가상머신이 끝날 때 파일을 삭제한다. 

 boolean mkdir()

 해당 경로에 폴더를 만든다. 

 boolean mkdirs() 

 존재하지 않는 부모 폴더까지 포함하여 해당 경로에 폴더를 만든다.

 boolean renameTo(File dest) 

 dest 로 File 이름을 변경한다. 

 

* File 체크 메소드

 File 체크 메소드 

 설명 

  boolean exists()

 파일의 존재 여부를 리턴한다. 

  boolean isAbsolute() 

 해당 경로가 절대경로인지 여부를 리턴한다.

  boolean isDirectory() 

 해당 경로가 폴더인지 여부를 리턴한다. 

  boolean isFile() 

 해당 경로가 일반 file 인지 여부를 리턴한다.

  boolean isHidden()

 해당 경로가 숨김 file 인지 여부를 리턴한다.

 

* File 권한 메소드

File 클래스 권한 관련 메소드 

설명 

 boolean canExecute()

 파일을 실행할 수 있는지 여부를 리턴한다.

 boolean canRead() 

 파일을 읽을 수 있는지 여부를 리턴한다. 

 boolean canWrite()

 파일을 쓸 수 있는지 여부를 리턴한다. 

 boolean setExecutable(boolean executable)

 파일 소유자의 실행 권한을 설정한다.

 boolean setExecutable(boolean executable, boolean ownerOnly) 

 파일의 실행 권한을 소유자 또는 모두에 대해 설정한다. 

 boolean setReadable(boolean readable) 

 파일의 소유자의 읽기 권한을 설정한다. 

 boolean setReadable(boolean readable, boolean ownerOnly)

 파일의 읽기 권한을 소유자 또는 모두에 대해 설정한다. 

 boolean setReadOnly()

 파일을 읽기 전용으로 변경한다. 

 boolean setWritable(boolean writable)

 파일의 소유자의 쓰기 권한을 설정한다. 

 boolean setWritable(boolean writable boolean ownerOnly) 

 파일의 쓰기 권한을 소유자 또는 모두에 대해 설정한다. 

 

# 예제1 - 파일정보 가져오

import java.io.File;
import java.io.IOException;


public class FileTest {

    public static void main(String[] args) {
        
        // FileTest project 폴더에서 filefolder	est.txt  파일을 객체로 생성한다.
        // 는 이스케이프 문자로 인식되므로 \\ -> \ 로 사용한다.
        File file = new File("filefolder\\test.txt");

        // 경로에 파일이 존재하면
        if(file.exists()){
            
            try{
                
                System.out.println("getName: " + file.getName());  // 파일 이름 출력
                System.out.println("getPath: " + file.getPath());    // 파일 경로 출력 
                // 파일 절대 경로 출력              
                System.out.println("getAbsolutePath : "+ file.getAbsolutePath());  
                // 파일 정규 경로 출력
                System.out.println("getCanonicalPath : "+ file.getCanonicalPath()); 
                // 상위 폴더 출력
                System.out.println("getParent : " + file.getParent());   
                
           // 파일의 쓰기/읽기 권한 체크
          if(file.canWrite()) System.out.println(file.getName() + "은 쓸 수 있습니다.");
          if(file.canRead()) System.out.println(file.getName()+ "은 읽을 수 있습니다.");
                
                // 객체의 파일, 폴더 여부 체크
                if(file.isFile()){
                    System.out.println(file.getName() + "은 파일입니다.");
                }else if(file.isDirectory()){
                    System.out.println(file.getName() + "은 폴더입니다.");
                }else{
                    System.out.println(file.getName() + "은 파일도 폴더도 아닙니다.");
                }
                
          // 파일 내용 길이 출력
          System.out.println(file.getName() + "의 길이는 "+ file.length() + " 입니다.");
            
            }catch(IOException e){
                System.err.println(e);
            }
        
        }else{
            System.out.println("파일을 찾을 수 없습니다. ");
        }
    }
}

 

 

# 예제2 - 파일 목록 출력 예제

import java.io.File;


public class FileTest2 {

    public static void main(String[] args) {
        
        // 프로젝트 현재 폴더를 객체로 생성한다.
        File file = new File(".");
        
        // file이 존재하고 폴더일 경우
        if(file.exists() && file.isDirectory()){
            
            // 폴더의 파일/폴더 목록을 문자열 배열로 반환
            String[] fList = file.list();
            
            // 출력
            for(int i=0; i<fList.length; i++)
                System.out.println(fList[i]);
        
        }else{
            System.out.println("해당 경로는 폴더가 아닙니다.");
        }
    }
}

 

#예제3 - 하드디스크 정보 출력

import java.io.File;


public class FileTest3 {
    
    public static void main(String arg[]){
        
        String drive;
        double totalSpace, usedSpace, freeSpace, usableSpace;
        
        // 하드디스크의 루트 드라이버들을 배열로 반환한다.
        File[] roots = File.listRoots();
        
        for(File root : roots){
            
            // 루트 드라이버의 절대 경로
            drive = root.getAbsolutePath();
            
            // 하드디스크 전체 용량
            totalSpace = root.getTotalSpace() / Math.pow(1024, 3);
            // 사용가능한 디스크 용량
            usableSpace = root.getUsableSpace() / Math.pow(1024,3);
            // 여유 디스크 용량
            freeSpace = root.getFreeSpace() / Math.pow(1024,3);
            // 사용한 디스크 용량
            usedSpace = totalSpace - usableSpace;
            
            System.out.println("하드 디스크 드라이버 : " + drive);
            System.out.println("총 디스크 용량 : " + totalSpace + "GB");
            System.out.println("사용 가능한 디스크 용량 : " + usableSpace + "GB");
            System.out.println("여유 디스크 용량 : " + freeSpace + "GB");
            System.out.println("사용한 디스크 용량 : " + usedSpace+"GB");
            System.out.println();
            
        }
    }   
}

File[] roots = File.listRoots(); 는 하드디스크의 루트 드라이버를 배열로 반환한다.

- getUsableSpace()와 getFreeSpace() 는 결과가 같다.

- 사용한 디스크 용량은 총 용량에서 사용가능한 용량을 뺀 값이다.

- Math.pow(1024,3) 은 1024를 3승한 값이다.


출처: https://hyeonstorage.tistory.com/233 [개발이 하고 싶어요]

 



Posted by injunech
2019.06.06 23:13


 

[JAVA] getProperty()으로 시스템속성 구하기 (OS종류, 사용자ID 등)

자바로, 현재 운영체제 종류 등의 각종 시스템 속성을 구하는 방법입니다. getProperty() 메소드(함수)에, 구하고자 하는 속성의 이름을 문자열로서 지정하면 됩니다.

# 간단한 사용 예제

public class Foo {
  public static void main(String[] args) {

    System.out.println("운영체제 종류: " + System.getProperty("os.name") );

    System.out.println("자바 가상머신 버전: " + System.getProperty("java.vm.version") );

    System.out.println("클래스 버전: " + System.getProperty("java.class.version") );

    System.out.println("사용자 로그인ID: " + System.getProperty("user.name") );

  }
}

# 결과화면

운영체제 종류: Windows 2000
자바 가상머신 버전: 1.5.0_08-b03
클래스 버전: 49.0
사용자 로그인ID: Administrator

 

관련 API 함수 목록

 



Posted by injunech
2019.05.30 00:29


[MediaPlayer] Windows OS 동영상플레이어 리뷰 및 추천

 

1. PotPlayer (kakaoTV)

 Daum PotPlayer 로 초기 멀티미디어 플레이어로 현재 제일 많은 사용자가 사용하는 플레이어.

 Daum이 Kakao 와 합병하면서 KAKAO TV 플랫폼이 추가되면서 프로그램의 디자인이 노란색들이 추가되면서 약간 이상해지긴 했지만 카카오 인터넷 방송 플랫폼이 모바일용 카카오앱TV 와도 연동 되면서 더 많은 사용자가 늘어난 것으로 보인다.

 추천 

다운로드 링크 : https://tv.kakao.com/guide/potplayer

 

카톡에서 친구하고 카톡에서 바로보자. 카카오TV

카톡에서 친구하고 카톡에서 바로보자. 카카오TV

tv.kakao.com

 

2. KM Player

PC용 (Windows 64X, Windows 32bit, Mac), Mobile용 (Android, iOS) 모두 제공되며 (다른플레이어들도 대부분 그렇지만 앱의 디자인이나 컨셉이 전체적으로 통일성이 있다.) 

PotPlayer 와 거의 공동 1등 플레이어가 아닌가 싶다 (모바일의 경우에는 KM Player가 훨씬 사용자가 많음)

추천 

다운로드 링크 : http://www.kmplayer.com/

 

KM플레이어ㅣ멀티미디어 플레이어

KM플레이어는 고화질 동영상 플레이어, LoL Live&VOD, 3D, 4D등 최신 통합 코덱을 지원하는 프리웨어 멀티미디어 플레이어 입니다.

kmplayer.com

 

3. GOM Player

PotPlayer 이전에 1등 플레이어였던 광고가 덕지덕지 붙어있는 지저분한 멀티미디어 플레이어. 아마도 많은 광고들 때문에 1위 멀티미디어 플레이어 자리를 내주지 않았을까 싶음. 하지만 영화 자막자료실 제공 및 무료영화, 무료TV보기 등 다양한 기능을 제공, (최신영화, 최신TV 등은 모두 유료임)

보통 

다운로드 링크 : https://www.gomlab.com/gomplayer-media-player/

 

곰플레이어 - 글로벌 넘버원 동영상 플레이어 무료 다운로드

누구나 쉽고 편리하게 사용 가능한 동영상 플레이어

www.gomlab.com

 

4. Naver Player

NAVERMediaPlayer 네이버에서 제공하는 멀티미디어 플레이어로 NAVER TV 로 인터넷 영상 재생용도로 타겟이 변경되었다. 이때문에 현재는 다운로드 링크를 찾기 힘들다.

보통 

다운로드 링크 : https://help.naver.com/support/contents/contents.help?serviceNo=803&categoryNo=21441

 

네이버 고객센터

미디어 플레이어 설치 및 업데이트 방법

help.naver.com

 

'Computer > Tool' 카테고리의 다른 글

[MediaPlayer] Windows OS 동영상플레이어 리뷰 및 추천  (0) 2019.05.30
[NotePad++] 자동 줄바꿈  (0) 2019.05.22
LogFilter (1.8v Last Version)  (0) 2019.01.06
PC사양 체크  (1) 2017.10.22
모니터 밝기조절 프로그램 DimScreen  (0) 2017.10.10
[Visual Studio] 단축키  (0) 2015.06.19


Posted by injunech
2019.05.29 00:36


Select(검색)

--My_Table로 부터 모든 칼럼 조회
SELECT * FROM My_Table

--My_Table의 No_Emp,Nm_Kor,Age 칼럼 조회
SELECT No_Emp,Nm_Kor,Age FROM My_Table

 

Where(조건문)

--이름이 '홍길동'인사람 검색
SELECT * FROM My_Table WHERE Nm_Kor ='홍길동' 

--나이가 25살인 사원의 한국이름과 나이 조회
SELECT Nm_Kor,Age FROM My_Table WHERE Age=25 

--나이가 25살이 아닌 사원 조회
SELECT * FROM My_Table WHERE Age<>25

--사원번호가 '0315' 이고 나이가 25살보다 작거나 이름이 '홍길동'인 사원 조회
SELECT * FROM My_Table WHERE No_Emp = '0315' AND (Age<25  OR Nm_Kor = '홍길동')

--사원번호가 '0315' 이거나 나이가 25살 이상이면서 이름이 '홍길동'인 사원 조회
SELECT * FROM My_Table WHERE No_Emp = '0315' OR (Age>=25 AND Nm_Kor = '홍길동')

 

Like(~로 시작,포함,끝나는 단어)

--'김'으로 시작하는 사원 조회
SELECT * FROM My_Talbe WHERE Nm_Kor LIKE '김%'

--김이 들어가는 시작하는 사원 조회
SELECT * FROM My_Talbe WHERE Nm_Kor LIKE '%김%'

--김으로 끝나는 사원의 사원번호 조회
SELECT No_Emp FROM My_Talbe WHERE Nm_Kor LIKE '%김'

 

In(~이거나)

--나이가 20살,24살,26살인 사원 조회
SELECT * FROM My_Table WHERE Age IN(20,24,26)

사원번호가 '0000','0004','0008'이고 나이가 20살 24살 28살인 사원 조회
SELECT * FROM My_Table Where No_Emp IN('0000','0004','0008)AND Age IN(20,24,28)

 

Between(~부터~까지)

나이가 20살~25살까지의 사원조회
SELECT * FROM My_Table WHERE Age Between 20 AND 24

나이가 사원번호가 '0000'~'0010'까지이거나 나이가 30살~40살인 사원의 이름 조회
SELECT Age FROM My_Table WHERE (No_Emp BETWEEN '0000' AND '0010') OR (Age BETWEEN 30 AND 40)

 

 



Posted by injunech
2019.05.23 02:51


[VBS]  WshShell.SendKeys

 

WshShell.SendKeys

Send one or more keystrokes to the active window as if they were typed at the keyboard. This method is similar to the VB SendKeys method.

WshShell.SendKeys "Character_string_and/or_SendKeys"

Most ASCII characters can be represented simply by the character itself. 
E.g, the key sequence FRED can be represented by "FRED". 
Some special keys, such as the control keys, function keys etc are encoded in a string enclosed by {braces} 
See the table below

Key/CharacterSendKeyDescription

~ {~} Send a tilde (~)
! {!} Send an exclamation point (!)
^ {^} Send a caret (^)
+ {+} Send a plus sign (+)
Backspace {BACKSPACE} or {BKSP} or {BS} Send a Backspace keystroke
Break {BREAK} Send a Break keystroke
Caps Lock {CAPSLOCK} Press the Caps Lock Key (toggle on or off)
Clear {CLEAR} Clear the field
Delete {DELETE} or {DEL} Send a Delete keystroke
Insert {INSERT} or {INS} Send an Insert keystroke
Cursor control arrows {LEFT} / {RIGHT} / {UP} / {DOWN} Send a Left/Right/Up/Down Arrow
End {END} Send an End keystroke
Enter {ENTER} or ~ Send an Enter keystroke
Escape {ESCAPE} Send an Esc keystroke
F1 through F16 {F1} through {F16} Send a Function keystroke
Help {HELP} Send a Help keystroke
Home {HOME} Send a Home keystroke
Numlock {NUMLOCK} Send a Num Lock keystroke
Page Down
Page Up
{PGDN}
{PGUP}
Send a Page Down or Page Up keystroke
Print Screen {PRTSC} Send a Print Screen keystroke
Scroll lock {SCROLLLOCK} Press the Scroll lock Key (toggle on or off)
TAB {TAB} Send a TAB keystroke

To specify keys combined with any combination of SHIFT, CTRL, and ALT keys, precede the key code with one or more of the following:

For SHIFT prefix with + For CTRL prefix with ^ For ALT prefix with %

Example

' Open notepad Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "notepad.exe", 9 ' Give Notepad time to load WScript.Sleep 500 ' Type in Hello World WshShell.SendKeys "Hello World!" WshShell.SendKeys "{ENTER}" ' Add the date WshShell.SendKeys "{F5}"

'Computer > VBS (Visual Basic Script)' 카테고리의 다른 글

[VBS] Space 포함된 파일 실행하기  (0) 2019.06.11
[VBS] WshShell.SendKeys  (0) 2019.05.23
[VBS] Process Find and Activate  (0) 2019.05.23
VB스크립트란 (VBS란)  (0) 2019.05.22


Posted by injunech