ClassLoader.getSystemClassLoader().getResource(".").getPath();
현재 working path가 아닌 jar파일의 path가 리턴된다.
'Java' 카테고리의 다른 글
[SWT] jar파일 안에 있는 이미지 로드 (0) | 2015.04.27 |
---|---|
Java 한글 입출력 깨지지 않는 법 (0) | 2015.04.13 |
현재 디렉토리명 얻기 (0) | 2015.04.09 |
ClassLoader.getSystemClassLoader().getResource(".").getPath();
현재 working path가 아닌 jar파일의 path가 리턴된다.
[SWT] jar파일 안에 있는 이미지 로드 (0) | 2015.04.27 |
---|---|
Java 한글 입출력 깨지지 않는 법 (0) | 2015.04.13 |
현재 디렉토리명 얻기 (0) | 2015.04.09 |
public static Image loadImage(String path, boolean inJar)
{
Image newImage = null;
try
{
if(inJar)
{
newImage = new Image(null, YOUR_MAIN_CLASS.class.getClassLoader().getResourceAsStream(path));
}
else
{
newImage = new Image(null, path);
}
}
catch(SWTException ex)
{
System.out.println("Couldn't find " + path);
e.printStackTrace();
}
return newImage;
}
getResourceAsStream(path) 함수를 이용해 불러와야 한다.
ResourceAsStream이 아닌 Resource는 URL만 리턴할 뿐이다.
jar파일의 현재 path 얻어내기 (0) | 2015.04.30 |
---|---|
Java 한글 입출력 깨지지 않는 법 (0) | 2015.04.13 |
현재 디렉토리명 얻기 (0) | 2015.04.09 |
# -*- conding: utf-8 -*- if __name__ == '__main__': print("Hello World!")혹은,
# coding=if __name__ == '__main__': print("Hello World!")
와 같이 최상단에 문자열 인코딩 방식을 정의해주면 해결된다.
(주석보다도 위에 위치해야 한다.)
파일 입출력시 한글이 깨지는 경우가 있다.
이럴 경우에는 버퍼를 사용하고, 인코딩 방식을 바꾸어 주면 된다.
파일 읽기
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path), "euc-kr"));
파일 쓰기
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path), "euc-kr"));
jar파일의 현재 path 얻어내기 (0) | 2015.04.30 |
---|---|
[SWT] jar파일 안에 있는 이미지 로드 (0) | 2015.04.27 |
현재 디렉토리명 얻기 (0) | 2015.04.09 |
System.getProperty("user.dir");
String형태로 현재 실행되고 있는 곳의 디렉토리명을 얻을 수 있다.
jar파일의 현재 path 얻어내기 (0) | 2015.04.30 |
---|---|
[SWT] jar파일 안에 있는 이미지 로드 (0) | 2015.04.27 |
Java 한글 입출력 깨지지 않는 법 (0) | 2015.04.13 |
가끔 adb push를 하면 별다른 문제가 없어보이는데도 permission denied 문제가 생기는 경우가 있다.
이런 경우에는 쓰기권한이 없어서 문제가 생기는 것이다.
문제 해결을 위해
1. adb shell에서
2. 루트유저(su)로 변환 후
3. chmod 777 /data/aaa 명령어를 입력
(/data/aaa는 권한을 주길 원하는 폴더)
해주면 된다.
안드로이드 /proc 파일 시스템 (0) | 2015.07.28 |
---|---|
[Smali] 문법정리 (0) | 2015.05.15 |
fastboot 에 디바이스가 물리지 않을 때 (0) | 2015.03.09 |
개발폰별 파일들 (0) | 2015.03.05 |
AOSP 기본세팅 (0) | 2015.03.04 |
ResourceBundle을 사용할 때, 가끔 아래와 같은 에러가 출력된다.
Err: java.util.MissingResourceException: Can't find bundle for base name ~~.~~ locale ko_KR
대개 실행 시에 ClassLoader가 폴더 밖으로 접근할 수 없어서 권한 문제 때문에 에러가 나는 것이라고 한다.
해결 방법은 간단하다.
아래와 같이 프로젝트 옵션에서 '클래스폴더로 /locale 폴더를 추가'하면 끝.
ANR이란?
Application Not Responding (ANR)의 줄임말로 어플리케이션이 일정시간 동안 응답이 없을 경우 발생하는 현상을 말합니다.
무한루프가 돌거나 UI 쓰레드에서 오래 걸리는 작업을 할 경우 발생하는 다이얼로그가 바로 ANR dialog입니다.
ANR이 발생하면 안드로이드 파일 시스템에 data/anr/ 위치에 traces.txt라는 ANR발생 시점의 프로세스 상태에 관한 로그가 기록됩니다.
이건 모든 안드로이드 폰 공통이지만 안타깝게도 루트권한에서만 접근이 가능합니다.
보통은 synchronized가 걸려서 독점하고 있거나 혹은 생각없이 sleep을 처리해서 발생할 가능성이 큽니다.
traces.txt에 held by라는 단어가 핵심포인트가 됩니다.
AOSP 빌드를 폰에 올리기 위해 fastboot 모드로 전환하면 폰이 물리지 않을 경우가 있다.
(<waiting for device> 메시지와 함께 무한로딩..)
이럴 경우에는 51-android.rules 에
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", MODE="0002" 를 추가해주고
'루트권한'으로 fastboot을 실행시켜주자.
[Smali] 문법정리 (0) | 2015.05.15 |
---|---|
adb push 입력시 permission denied 문제 (0) | 2015.04.09 |
개발폰별 파일들 (0) | 2015.03.05 |
AOSP 기본세팅 (0) | 2015.03.04 |
AOSP kitkat(4.4) 빌드방법 (0) | 2015.03.03 |
UI가 통으로 날아가면 텅빈 바탕화면과 마주하게 된다. 원인은 unity 설정이 망가져서 그렇다고 한다. (아마 손님 계정으로 로그인하면 정상적인 화면이 보일거임...)
터미널도 작동하지 않아 멘붕하게 되는데, ctrl+alt+F1키로 복구창을 띄우고, 복구작업을 시작하게 된다.
1. unity를 대체할 새로운 툴 설치 (필자는 Compiz로 복구 성공)
2. 재부팅 후 로그인창에서 방금 설치한 UI로 로그인
3. 정상적으로 부팅되는 것을 확인 뒤, 유니티 트윅툴을 설치, 작동시켜준다.
sudo apt-get install unity-tweak-tool
unity-tweak-tool --reset-unity
(* 아마 ctrl+alt+f1으로 띄운 콘솔창에서는 이 명령어가 작동하지 않을 것)
4. sudo reboot 명령어를 통해 재부팅 후 기존 ui (unity)를 통해 로그인
5. 성공
아마 위의 복구과정에서 작업이 끝날 텐데, 여전히 복구가 되지 않는다면 3번의 과정이 끝난 뒤에 VMware툴도 다시 설치를 해보자. 확실하지는 않지만 관련이 있을수도 있을 것 같다.
Amazon EC2 ssh 접속 Permissions for 'key.pem' are too open 문제해결 (0) | 2020.08.17 |
---|---|
리눅스 한글로 설치해서 폰트가 깨질때! 영어로 바꾸자! (0) | 2018.04.27 |
VMware tools install / uninstall (0) | 2015.03.05 |
ubuntu 14.04 jdk6 설치하기 (0) | 2015.03.05 |
리눅스에서 prel(.pl)스크립트 실행하기 (0) | 2015.03.04 |