2. 컴퓨터 이야기/프로그래밍 87

자바를 이용하여 텍스트 파일을 읽고 쓰는 방법론

이곳에서는 원본의 내용이 텍스트인 파일을 읽고 쓰는 방법론을 설명합니다. 텍스트 파일을 읽을때 byte 스트림을 이용하느냐, char 스트림을 이용하느냐, 문자셋을 전환하느냐.. 텍스트 파일을 쓸때 byte 스트림을 이용하느냐, char 스트림을 이용하느냐, 문자셋을 전환하느냐.. 등의 요소가 조합되면서 자바 클래스로 어떤 것을 사용하느냐가 결정됩니다. 문자셋을 조정하려면 InputStreamReader 와 OutputStreamWriter 가 필요합니다. 파일은 크게 텍스트 파일과 바이너리 파일로 구분됩니다. 자바에서는 텍스트는 char 로 작업하고 바이너리는 byte 로 작업한다고 생각하세요. HTML, JSP, ASP, XML 등등은 코드체계와 문자셋만 다를뿐 텍스트 파일이고.. 이미지, 동영상, ..

input 태그에 값 넣기, Object.value, innerText, innerHTML

Ajax 로 받아온 값을 innerHTML 을 이용해서 div 나 span 에 입력하는 것은 많이 해 보셨을텐데요.. 물론, textarea 에도 이와 같은 방식이 잘 먹혀 들어갑니다. 그러면 Ajax 로 받아온 값을 input 에는 넣어 보셨나요..? 어디 한번, 테스트 해 봅시다. 코드는 아래와 같습니다. 자 .value 를 이용하여 값을 넣어 봅니다. 값이 '1' 들어가 있네요.. 그러면, .innerText 로 해 볼까요.. 역시나, '2' 들어가 있네요.. 이제 마지막으로 .innerHTML 을 해 볼까요.. 엇, 이게 뭡니까.. '알 수 없는 런타임 오류' 라고 나오네요.. div 나 span, textarea 에서는 볼 수 없던 오류가 나왔습니다. 따라서, text 타입의 input 에 값을..

팝업 궁금한 점 들여다 보기

o 팝업 차단을 체크하려면..? window.open 의 리턴값이 null 인지 체크 var pop = window.open(...); if(pop==null) alert('팝업이 차단되어 있어서 정상적인 진행이 어렵습니다. \n[도구 > 팝업차단] 에서 "팝업 차단 사용 안 함" 으로 설정해 주시기 바랍니다. '); o 팝업에 파라미터를 Post 방식으로 넘겨주려면..? function funcA(){ var pop = window.open('','popup','width=500,height=250'); // width 와 height 는 필요에 따라 설정하세요. //var pop = window.open('','popup',''); // width 와 height 를 설정하지 않으면 기본 크기로 오픈..

누가 말도 안 되는 말을, 파이어폭스에서는 form 태그를 table 밖에 두어야 한다는..?

위키피디아를 논할때 어떤 분이 "쓰레기" 라는 표현을 했던데.. 역시나 인터넷에는 엉뚱한 내용들도 많이 돌아다닌다는 것은 이상할 것이 없는 듯.. 도대체, 파이어폭스에서는 form 태그를 table 안에 두면 작동하지 않는다는 분이 계신데.. 뭘 근거로 그렇게 글을 포스팅 했는지 알 수가 없다. 해당 포스트를 근거로 아래와 같이 재구성해 보았다. 자세한 내용은 공개를 하지 않았기 때문에 나머지 부분은 임의로 구성했다. 테이블 헤더 결과는 아래와 같다. 혹시나 해서 clickme 로 지정한 input type 을 submit 에서 button 으로 하고 onClick 을 붙여도 잘 된다. 제로보드에서 해 봤더니 안 되더란 분도 있던데, 그러면 제로보드의 관련 코드가 잘못된 것은 아닌지 뜯어 보아야 하는거 ..

의도하지 않는 빈 줄이 생기지 않도록 form 태그와 table, iframe 태그들을 배열하는 순서

아래와 같이 해야 빈 공간이 생기지 않는다. 물론 다른 방법도 있겠지만.. iframe 태그를 form 태그 안에 두면 빈 줄이 생기므로, iframe 은 form 태그 밖에 위치한다. form 태그를 table 태그 밖에 두면 빈 줄이 생기므로, table 과 tr 사이에 위치한다. ... ... 아, 위와 같이 하는 것은.. 물론 table 태그를 사용하였을 때다. iframe 은 Ajax 를 사용하지 않고 iframe 내에서 처리 프로세스를 태우기 위해서다. 간혹 Ajax 를 사용하면 오류가 나거나 구현하기 어려울 때, iframe 을 사용해서 내부 처리를 할때 요긴하다.

버퍼를 이용한 파일 읽기/쓰기,

버퍼를 이용한 파일 읽기와 쓰기는 서로 대응되는 메소드를 이용하면 되므로, 이곳에서는 파일을 Write 하는 방법만 기술합니다. FileOutputStream 는 FileInputStream, BufferedOutputStream 는 BufferedInputStream 입니다. 덤으로, DB 에 Long Raw 로 저장된 내용을 가져와서 이미지 파일을 생성해 보겠습니다. 커넥션 맺는 부분은 환경에 따라 다르므로 이곳에서는 설명을 하지 않아요. import 해야 하는 패키지는 머리를 굴려서 생각해 보세요.. Connection 과 PreapredStatement, ResultSet 등은 java.sql 패키지, File FileOutputStream BufferedOutputStream 등은 java.io..

innerHTML 에 태그값을 넣을때 주의하세요. innerHTML 은 웹브라우저가 XML DOM 구조로 이해를 합니다.

아래 코드가 웹브라우저를 통해 보여질때, '체크' 라는 단어가 빨간색으로 보이면서 클릭을 했을때, "보이시나요..?" 라는 문구가 나왔으면 좋겠죠..? 그런데, 실은 그렇게 나오지 않지요. 보이는지 알려 주세요. 글쎄 잘 보이는지요..? 화면에서야 아래와 같이 잘 표시됩니다. 그러나, 빨간색 '체크' 문자를 클릭해도 이렇다 할 반응이 없지요. 그런데, innerHTML 에 넣기 전에 미리 문자열을 만들면 생각했던 대로 제대로 돌아갑니다. 보이는지 알려 주세요. 글쎄 잘 보이는지요..? 아래 그림을 보면 알겠지만, div 태그에 style 옵션으로 글자색을 적색으로 만들었는데, a 태그의 기본 스타일이 반영된 것을 알 수 있습니다. (참고로, 아래 이미지는 한번 클릭했을 때이고, 이전에는 파란색이었음) 자..

하나의 웹페이지 안에서 특정 위치로 포커스 이동, focus() 와 location.hash

웹페이지 UI 를 만들다 보면, 프로세스 상 어딘가가 화면에 꼭 보여야 하는 수가 있지요. 이런건 focus 내장함수를 사용하면 됩니다. input 태그가 있는 경우 해당 태그에 focus() 함수를 사용하여 이동이 가능합니다. input 태그의 type 옵션에 text, radio, checkbox 등이 들어 있어도 공히 적용이 됩니다. textarea 태그에도 focus 가 먹힙니다. 그런데.. input 태그나 textarea 태그에 disabled 옵션이 걸려 있다면 대략 낭패. 스크립트가 작동을 하지 않습니다. readonly 옵션은 영향력이 없습니다만.. 업무상 disabled 옵션이 필요하다면 focus() 함수를 통한 위치이동은 불가합니다. input, textarea 태그가 없는 곳으로 ..

overflow 와 overflow-y 를 사용하여 필요한 경우에만 스크롤이 생기게 하자.

아래 내용은, 필요할 때만 스크롤이 생기게 하는 코드입니다.. 정해진 width 안에서 해당 폭을 넘어서면 overflow:auto 에 의해서 가로 스크롤이 자동으로 생기고, 내용에 따라 자동으로 세로가 늘어나기 때문에 세로 스크롤은 overflow-y 를 hidden 으로 합니다. overflow 에 대한 옵션값은 아래와 같다. visible 가로와 세로 값에 상관없이 내용이 모두 보여진다. 가로/세로 스크롤이 표시되지 않는다. 설정한 width 값을 넘어서기 때문에 레이아웃이 깨지지 않도록 주의한다. hidden width 나 height 를 넘어서는 부분은 가려진다. 스크롤이 표시되지 않는다 auto 내용이 모두 보여진다. 가로/세로 스크롤이 필요에 따라 자동으로 표시된다. scroll 내용이 모두..

나모 액티브스퀘어에서 MIME, HTML, Text 등의 내용을 추출하는 방법

웹에디터로 입력된 HTML 본문을 파일 업로드와 함께 활용하려면.. 와 같이 form 문을 꾸미고, mime 값을 아래와 같이 사용. document.content.value = object.wec.MIMEValue; 웹에디터로 입력된 HTML 본문을 HTML 내용으로 저장하려면.. 와 같이 form 문을 꾸미고, HTML 내용을 아래와 같이 추출하여 사용. document.content.value = object.wec.Value; 웹에디터로 입력된 HTML 본문을 텍스트 내용으로 저장하려면.. 와 같이 form 문을 꾸미고, 텍스트 내용을 아래와 같이 추출하여 사용. document.content.value = object.wec.TextValue; 매뉴얼에는 위와 같이 설명되어 있고.. docume..