지식메모/JAVA
-
자바 상대경로 지정하여 어디서나 경로 참조가능하게 하기2015.10.04
-
자바 JTextArea 스크롤바 자동으로 설정하기2015.10.04
-
JAVA JPasswordField 암호 값 가져오기2015.09.20
-
문자열에서 숫자만 추출하기2015.09.02
-
Java 텍스트 파일 생성과 읽기를 이용한 누적시간 계산하기2014.12.29
-
숫자 천단위 콤마 입력하기2014.09.25
-
Json의 이해2013.11.05
-
대문자 소문자 서로 변환하기2013.10.08
자바 상대경로 지정하여 어디서나 경로 참조가능하게 하기
현재 프로젝트에 lib 폴더가 있고 start.exe 파일을 참조하게 하고 싶다면
File path = new File("lib"+File.separator+"start.exe");
그런데 프로젝트 실행할 땐 잘되는데 실행가능한 jar 파일로 export 하여 해보니 안된다..ㅠㅠ
'지식메모 > JAVA' 카테고리의 다른 글
자바 이미지 파일 포함하여 프레임바 아이콘 변경 후 실행가능한 jar 파일로 생성하기 (0) | 2015.10.15 |
---|---|
자바 스윙 프레임바 아이콘 바꾸기 (0) | 2015.10.12 |
자바 JTextArea 스크롤바 자동으로 설정하기 (0) | 2015.10.04 |
JAVA JPasswordField 암호 값 가져오기 (0) | 2015.09.20 |
문자열에서 숫자만 추출하기 (0) | 2015.09.02 |
자바 JTextArea 스크롤바 자동으로 설정하기
자바 스윙에서 JTextArea 에서 스크롤바 자동으로 설정하는 방법
1 2 3 4 5 6 | JTextArea area= new JTextArea(); JScrollPane scrollPane = new JScrollPane(area); //스크롤판 추가 JPane.add(scrollPane); //화면에 추가 area.append(log); // 출력로그 JTextArea 출력 area.setCaretPosition(txtLog.getDocument().getLength()); // 이 코드를 append 밑에 추가해주면 항상 아래로 스크롤 된다 | cs |
'지식메모 > JAVA' 카테고리의 다른 글
자바 스윙 프레임바 아이콘 바꾸기 (0) | 2015.10.12 |
---|---|
자바 상대경로 지정하여 어디서나 경로 참조가능하게 하기 (0) | 2015.10.04 |
JAVA JPasswordField 암호 값 가져오기 (0) | 2015.09.20 |
문자열에서 숫자만 추출하기 (0) | 2015.09.02 |
Java 텍스트 파일 생성과 읽기를 이용한 누적시간 계산하기 (0) | 2014.12.29 |
JAVA JPasswordField 암호 값 가져오기
자바 스윙에서 JPasswordField 필드를 사용하면 암호입력시 * 별표로 표시할 수 있는데 이 가려지 값을 가져오는 방법
tf_pw = new JPasswordField(); tf_pw.setEchoChar('*');
이런 식으로 암호 입력시 * 별표로 가려지게 한다음
String pw = ""; //tf_pw 필드에서 패스워드를 얻어옴, char[] 배열에 저장 char[] secret_pw = tf_pw.getPassword(); //secret_pw 배열에 저장된 암호의 자릿수 만큼 for문 돌리면서 cha 에 한 글자씩 저장 for(char cha : secret_pw){ Character.toString(cha); //cha 에 저장된 값 string으로 변환 //pw 에 저장하기, pw 에 값이 비어있으면 저장, 값이 있으면 이어서 저장하는 삼항연산자 pw += (pw.equals("")) ? ""+cha+"" : ""+cha+""; }
이렇게 저장한 후 System.out.println(pw)로 찍어보면 입력된 암호가 나타난다.
'지식메모 > JAVA' 카테고리의 다른 글
자바 상대경로 지정하여 어디서나 경로 참조가능하게 하기 (0) | 2015.10.04 |
---|---|
자바 JTextArea 스크롤바 자동으로 설정하기 (0) | 2015.10.04 |
문자열에서 숫자만 추출하기 (0) | 2015.09.02 |
Java 텍스트 파일 생성과 읽기를 이용한 누적시간 계산하기 (0) | 2014.12.29 |
숫자 천단위 콤마 입력하기 (0) | 2014.09.25 |
문자열에서 숫자만 추출하기
해당링크
핵심 키워드 \D+
문자열 배려 첫번째는 공백이므로 split[1] 값 부터 사용하기
특히 특수문자 검색할 땐 앞에 백슬래쉬 요거 \ 추가하기
ex) ""이름"" ( 에러뜸 ) ▶ "\"이름\"" ( 따옴표도 검색가능 )
'지식메모 > JAVA' 카테고리의 다른 글
자바 JTextArea 스크롤바 자동으로 설정하기 (0) | 2015.10.04 |
---|---|
JAVA JPasswordField 암호 값 가져오기 (0) | 2015.09.20 |
Java 텍스트 파일 생성과 읽기를 이용한 누적시간 계산하기 (0) | 2014.12.29 |
숫자 천단위 콤마 입력하기 (0) | 2014.09.25 |
Json의 이해 (0) | 2013.11.05 |
Java 텍스트 파일 생성과 읽기를 이용한 누적시간 계산하기
파일 I/O를 이용한 텍스트 파일 생성과 읽기를 이용한 간단한 누적시간계산하기
1. 처음 시간과 끝 시간을 구한 후
-> 끝 시간 - 처음 시간 = 총 소요시간
2. 텍스트 파일 유무를 체크 한 뒤
3.파일이 없다면(처음 기록하는 시간이므로) 총 누적시간 = 총 소요시간이므로 이 시간을 totaltime.txt에 기록
4. 만약 파일이 있었다면 총 누적시간 = 이전 누적시간 + 총 소요시간이다.
-이를 다시 totaltime.txt 기록한다.(덮어 쓰게 됨)
이런 순서로 진행된다.
Time.java
import java.io.*; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Date; public class Time { static Date dt = new Date(); static Time timer = new Time(); static SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd, hh:mm:ss a"); static int playTimeCheck = 0; public long startTime() { long start = System.currentTimeMillis(); return start; } public long endTime() { long end = System.currentTimeMillis(); return end; } public long playTime(long l){ long longTime = 0; long end = timer.endTime(); //끝 시간 longTime = ( end - l ) / 1000; //끝 시간 빼기 처음시간 playTimeCheck = (int)longTime; // 플레이 시간 저장 System.out.println("플레이 시간 : " + (int)(longTime / 3600) + "시간 " + (int)(longTime % 3600 / 60) + "분 " + (int)(longTime % 3600 % 60) + "초"); return longTime; } public void totalTime(){ int total = 0; try { int play = playTimeCheck; //아까 계산한 플레이 시간 값 File file = new File("c:/totaltime.txt"); if(file.isFile()){ //totaltime.txt 존재 유무 체크 BufferedReader outReader = new BufferedReader(new FileReader("c:/totaltime.txt")); String read = outReader.readLine(); //누적 시간 읽기 total = Integer.parseInt(read); //읽은 값 total에 저장 total += play; //play시간과 total 더함 outReader.close(); BufferedWriter out = new BufferedWriter(new FileWriter("c:/totaltime.txt")); out.write(Integer.toString(total)); //합산된 total 값을 기록 out.close(); }else{ //파일이 없다면 BufferedWriter out = new BufferedWriter(new FileWriter("c:/totaltime.txt")); total = play; //처음에는 play시간이 곧 누적시간이므로 total에 play시간 대입 out.write(Integer.toString(total)); //파일에 기록 out.close(); } System.out.println("누적 플레이 시간 : " + ( total / 3600) + "시간 " + (total % 3600 / 60) + "분 " + (total % 3600 % 60) + "초"); } catch (IOException e) { System.err.println(e); // 에러가 있다면 메시지 출력 System.exit(1); } } }
public class TimeTest { public Time time = new Time(); //Time.java 객체선언 long startTime = 0; long endTime = 0; public void setUpGame() { startTime = time.startTime(); //시작과 동시에 시작시간 구함 } private void startPlaying() { finishGame(); } private void finishGame() { exitGame(); //끝날 때 시간 구함 } private void exitGame() { System.out.println("게임 종료"); time.totalTime(); //누적시간 계산 후 출력 } public static void main(String[] args) { DotComBust game = new DotComBust(); game.setUpGame(); game.startPlaying(); } }
대강 이런 식으로 사용가능하다..
'지식메모 > JAVA' 카테고리의 다른 글
JAVA JPasswordField 암호 값 가져오기 (0) | 2015.09.20 |
---|---|
문자열에서 숫자만 추출하기 (0) | 2015.09.02 |
숫자 천단위 콤마 입력하기 (0) | 2014.09.25 |
Json의 이해 (0) | 2013.11.05 |
대문자 소문자 서로 변환하기 (0) | 2013.10.08 |
숫자 천단위 콤마 입력하기
가격 입력할 때 천단위 마다 콤마를 넣을 수 있는 방법
String money="999999999" long value = Long.parseLong(money); DecimalFormat format = new DecimalFormat("###,###");//콤마 format.format(value); String result_int = format.format(value);
이 코드를 추가해주면 천 단위마다 콤마가 자동으로 찍힌다.
안드로이드에서 에디트 텍스트에서 숫자를 입력 받아
텍스트 뷰에 result_int 값을 출력시켜 사용하였다.
'지식메모 > JAVA' 카테고리의 다른 글
문자열에서 숫자만 추출하기 (0) | 2015.09.02 |
---|---|
Java 텍스트 파일 생성과 읽기를 이용한 누적시간 계산하기 (0) | 2014.12.29 |
Json의 이해 (0) | 2013.11.05 |
대문자 소문자 서로 변환하기 (0) | 2013.10.08 |
java 문자열 구분자로 자르기 (0) | 2013.10.02 |
Json의 이해
만들고자 하는 구조는
{
"j1":{
"j2":{
"arr1":[{"j3":"a"},{"j4":"b"}]
}
}
}
이런 유형의 구조이다. 그렇다면 필요한 코드는
ObjectNode json = json.newObject();
ObjectNode j1 = json.newObject();
ObjectNode j2 = json.newObject();
ObjectNode arr1 = json.newObject();
ObjectNode j3 = json.newObject();
ObjectNode j4 = json.newObject();
ArrayNode array = null;
이렇게 한 뒤 구현하려면 역순으로 구현한다.
json객체 생성
j3.put("j3","a"); --> {"j3":"a"}
j4.put("j4","b"); --> {"j4":"b"}
json객체를 array라는 배열에 삽입
array.add(j3); --> [{"j3":"a"}]
array.add(j4); --> [{"j3":"a"},{"j4":"b"}]
array배열을 arr1이라는 key로 arr1 jsonobject에 삽입
arr1.put("arr1",array)
--> {arr1:[{"j3":"a"},{"j4":"b"}]}
arr1 jsonObject를 j2라는 key로 j2 jsonObject에 삽입
j2.put("j2",arr1);
--> {j2:{"arr1":[{"j3":"a"},{"j4":"b"}]}}
j2 jsonObject를 j1라는 key로 j1 jsonObject에 삽입
j1.put("j1",j2);
--> {"j1":{"j2":{"arr1":[{"j3":"a"},{"j4":"b"}]}}}
이렇게 된다.
역순으로 jsonObject생성해서 배열에 넣고,
그 배열을 jsonobject 생성해서 집어넣고,
그걸 또 jsonObject에 넣는 역순이다.
위 소스를 쉽게쓰면
ObjectNode json1;
ObjectNode json2;
ObjectNode json3;
arrayNode arr = null;
json3 = json.newObject();
json3.put("j3","a");
arr.add(json3);
json3 = json.newObject();
/*
여기서 json3은 객체 새로 생성안하면
{"j3":"a", "j4", "b"}가 되고,
객체를 새로 생성하면
{"j4":"b"}가 된다.
초기화 안하면 아래 arr.add에서
{"j3":"a"},{"j3":"a","j4":"b"} 로 들어가게된다.
*/
json3.put("j4","b");
arr.add(json3);
json3 = json.newObject();
json3.put("arr1",arr);
json2 = json.newObject();
json2.put("j2",json3);
json1 = json.newObject();
json1.put("j1",json2);
이런 식이다. 간단한거 같은데 많이 헷갈린다;;
'지식메모 > JAVA' 카테고리의 다른 글
Java 텍스트 파일 생성과 읽기를 이용한 누적시간 계산하기 (0) | 2014.12.29 |
---|---|
숫자 천단위 콤마 입력하기 (0) | 2014.09.25 |
대문자 소문자 서로 변환하기 (0) | 2013.10.08 |
java 문자열 구분자로 자르기 (0) | 2013.10.02 |
ObjectNode 와 JsonNode 차이? (0) | 2013.09.06 |
대문자 소문자 서로 변환하기
String s="ABcdeFGhIJklmNop";
s=s.toUpperCase();
//모두 대문자로 바꾸기
s=s.toLowerCase();
/모두 소문자로 바꾸기
'지식메모 > JAVA' 카테고리의 다른 글
숫자 천단위 콤마 입력하기 (0) | 2014.09.25 |
---|---|
Json의 이해 (0) | 2013.11.05 |
java 문자열 구분자로 자르기 (0) | 2013.10.02 |
ObjectNode 와 JsonNode 차이? (0) | 2013.09.06 |
mp3 ID3 v2 태그 파싱하기 (3) | 2013.08.27 |