본문 바로가기

닷컴's_열공/JAVA

process class waitFor() hang 처리... 자바에서 외부 프로그램을 로딩 및 처리하는 프로세스 클래스인 Process 클래스의 멤버 메쏘드로 waitFor()가 있는데, 자꾸 hang이 걸립니다.. ^^;; 몇번을 간단하게 테스트 했는데도 계속 hang이 걸리네요...... ^^;; 코드를 아래와 같이 고치면 해결이 됩니다.. ^^ view plaincopy to clipboardprint? try { Runtime runtime= Runtime.getRuntime(); Process process= runtime.exec("javac *.java"); // 여기에서 외부 프로그램 실행 java.io.InputStream is= process.getInputStream(); java.io.BufferedReader br=new java.io.Bu..
자바- 엑셀 업로드 만들기 자바(java) 엑셀 업로드 (excel upload) import jxl.*; import java.io.*; import java.util.*; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; public class ReadXLS { String filename = null; //ReadXLS 생성자 public ReadXLS(String filename) { this.filename = filename.trim(); }..
RSS Reader 컴포넌트 만들기 - 자바 일단, 저번 강좌를 꼼꼼히 읽으신 분은 다음과 같은 일종의 규칙(?)을 알고 계시리라 생각합니다. 1. 하나의 RSS 파일은 하나의 Channel 요소와 여러개의 Item 요소로 구성된다. 2. Channel은 title, link, description, lastBuildDate등의 하위 요소를 가질 수 있다. 3. 각각의 Item 은 Author, Category, Title, Link, Pubdate 등의 하위 요소를 가질 수 있다. 대략 이정도의 규칙만으로도 우리가 같이 제작하려는 RSSReader를 설계하는 데에는 크게 문제가 없을 것 같습니다. 컴포넌트를 많이 만들어 보신 분은 위의 정의만으로도 쉽게 필요한 개체들을 추출해내실 수 있을 것 같습니다. 일단, item 이라는 개체가 필요할 것 같..
RSS Writer 컴포넌트 만들기 - 자바 그럼, 이번 시간에는 지난 시간에 이어서(사실은 별개적인 내용으로 볼 수도 있습니다만) Rss 작성기를 만들어 보도록 하겠습니다. 클래스의 설계구조는 아마도 다들 비슷하지 않을까 싶네요. 저의 경우는 일반 문자열 결합을 통해서 XML 파일을 생성하는 것 보다는(비록 그것이 성능면에서 상대적으로 낫다해도) XmlTextWriter 클래스를 사용해서 좀 더 확실하게 XML 파일을 작성하는 쪽으로 방향을 잡았습니다. 여러분도 그렇게 방향을 잡으신 것이라면, "우리는 친구~~~" 인 것입니당당당.. 샤바방~~ 저는 기본적으로 개발자가 RSS로 작성하고 싶은 항목들을 일단 RssWriter 메모리 상에 적재한 다음에, 특정 메서드를 호출하면 그때까지 메모리에 쌓여있던 모든 데이터를 RSS로 좌악~ 만들어서 출력해..
간단한 파일 handling Java로 프로그래밍을 하다 보면 파일 핸들링이 꼭 필요한 경우가 있다. 자주 사용했던 걸 요약하면 다음과 같다. 1. UTF-8로 되어있는 파일 읽고 쓰기 BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(args[0]), "UTF-8")); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(args[1]), "UTF-8")); , args[0]과 args[1]은 각각 입력, 출력 파일 이름이다. 인코딩은 보통 utf-8, ksc5601, euc-kr, ms949, iso-8859-1, 8859-1 중에 하나..
Character Set과 Encoding 이해하기 문자셋과 인코딩의 정의 문자셋 (charset, Character Set) 하나의 언어권에서 사용하는 언어를 표현하기 위한 모든 문자(활자)의 모임을 문자셋(charater set)이라고 한다. 다시 말하면 우리가 얘기하는 언어를 책으로 출판할 때 필요한 문자(활자)를 모두 모은 것이라고 생각하면 된다. 추가적으로 부호와 공백 등과 같은 특수 문자도 문자셋에 포함된다. 영어의 경우 알파벳 대소문자와 특수 문자 등으로 간단하게 문자셋을 구성할 수 있지만 한글의 경우 출판에서 가,나,다 등으로 출판함으로 훨씬 다양한 문자셋을 가지고, 또한 한자를 병행해서 사용함으로 문자셋의 범위는 더욱 넓어진다. 추상적인 글자 셋은 여러 개의 인코딩을 가질 수 있다. MIME 문자셋은 IANA에서 정의하며 인터넷 및 XML..
형변환 Integer.parseInt와 Integer.valueOf의 차이점 초보인 입장에선 좀 구분이 애매했네요. public class Ang{ public static void main (String args[]){ int A; int B; float C; String a = "3"; String b = "4"; A = Integer.parseInt(a); B = Integer.parseInt(b); C = A*A+B*B; System.out.println("C :"+Math.sqrt(C)); } } 위에 소스가 맞는 소스이며 이 소스를 valueOf를 사용해 버리면 에러 발생 차이가 나는 이유는 아래와 같다. A=Integer.parseInt(a); B=Integer.parseInt(b); => 리턴되는 반환값은 static int 값이다. A = Integer.value..
아래는 파일에 c:\\adsl.exe 라는 파일을 저장하고, StringReader 클래스와 StringWriter 클래스는 문자열을 스트림에 기록하거나 읽어낼 때 사용하는 클래스입니다. 즉, 목표지점이 string형의 데이터가 되는 것입니다. StringReader 클래스와 StringWriter 클래스는 TextReader 클래스와 TextWriter 클래스를 각각 상속받았습니다. StringReader 클래스는 Read() 메서드를 이용해서 데이터를 읽어들이고, 읽어들인 데이터를 StringWriter의 Write() 메서드를 이용하여 스트림에 기록하게 됩니다. 다음은 두 클래스의 상속 관계를 나타내는 클래스의 원형을 보여주고 있습니다. ▣ StringReader & StringWriter 클래스 q public class StringReader : Text..