자바 파일 복사에 대해서...
안녕나야
하나의 자바 파일을 다른 폴더로 복사하는 기능을 만들었습니다.
그런데 복사하는 과정에서 클래스명 부분을 사용자가 입력한 이름으로 바꿔주어야 합니다.
이런 경우에 어떻게 처리하는게 좋을까요?
처음에 버퍼스트림을 이용해서 파일을 복사했더니,
전송되는 내용을 중간에 캐치할 수가 없는거 같더군요.
한번 스트림 연결되서 보내면 마지막까지 그냥 쭉 전송되어 버리는거 같습니다.
그래서 Reader, Writer를 사용해 보았으나,
이번에는 스트링이 제대로 처리되지 않아서 안되더군요.
byte로 처리되는 내용을 스트링으로 비교하는 과정이 잘 안되었습니다.
그래서 결국,
무식하게도....
원본 파일을 2개의 파일로 분리해서 앞부분 복사하고, 클래스명 넣고, 다시 뒷부분 복사해서 완성했습니다.
이런 무식한 방법을 탈피하고자 질문 드립니다.
-
별
근데 3000바이트씩 읽어와서 쓰는건 힘들거 같습니다.
파일마다 클래스명이 들어가는 위치가 달라서 정확하게 몇 바이트씩 끊어야 하는지 판단하기가 어렵더군요~ ^^;
현재 readLine() 이용해서 작업중인데...
잘 되면 결과 올리겠습니다. -
새난
답변들 감사드립니다.
한번식 시도해 보고 결과 올리겠습니다! ^^ -
바나나
이런 작업은 자바보다 펄(perl)을 강력 추천합니다. :)
-
해비치
아, 참고로 첫번째 방법에서 조금 더 머리를 써야할 경우라면 Pattern 을 이용하시는 것이 좋을 겁니다 :)
-
아리알찬
의외로 간단하겠군요
일단 가장 간단한 방법은 일단 모든 내용을 단일 string 으로 변환 뒤에 클래스 이름을 검색해 사용자가 원하는 이름으로 전부 바꾸는 것입니다. String.replaceAll() 이 가장 편하겠지요?
그 외에는 BufferedReader 로 readLine() 을 통해 한 줄 한 줄 검사하는 방법도 있고요
그리고 byte 으로 받을 경우는 원래의 클래스 이름의 첫글자와 같으면 다음 byte 을 받아서 검색해서 모든 byte 이 동 -
물
그리고 가능할것 같은데 ;;
in : 읽는화일.
out : 쓰는 화일.
byte[] barray = new byte[3000];
in.read( barray ) ; // 3000 바이트를 읽고
out.write(barray); // 3000 바이트를 쓰고..
out.write(\클래스명\); // 클래스명쓰고.
in.read(barray); // 다시 남은 내용읽고.
out.write(barray); // 남은 내용 쓰고..
이런식으로 -
햇님
RandomAccessFile 을 쓰면 어떨까요?
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2696043 | 제이쿼리 .scroll() 관련 질문드립니다 | 이거이름임 | 2025-05-26 |
2695984 | 마크업상으로 하단에 있으나 우선적으로 이미지파일을 다운로드받는 방법 (1) | 들꿈 | 2025-05-25 |
2695934 | tr 속성값 (9) | 새 | 2025-05-25 |
2695905 | ASP로 개발됐을 때 css가 달라져요 ㅠㅠ (4) | 슬아라 | 2025-05-24 |
2695878 | form을 이용한 다른 페이지로 넘기는 방법을 알려주세요 (1) | 핫파랑 | 2025-05-24 |
2695844 | 저기 암호화 및 복호화 프로그램.. 만들어볼려는대 (2) | 한빛 | 2025-05-24 |
2695814 | [질문] PDA에서 애플릿이 가능한가요? (1) | 봄시내 | 2025-05-24 |
2695785 | 웹 설정 도와줄분 | 화이트캣 | 2025-05-23 |
2695730 | 갑자기 기억이 안나는데 accesskey 속성.. | 빛나라 | 2025-05-23 |
2695702 | [질문] Java 버전 차이에 의한 오류?!! (2) | 검사 | 2025-05-23 |
2695672 | 자바 임베디드 쪽으로 배우고 싶은데요..질문이요.. (1) | 뽀그리 | 2025-05-22 |
2695647 | 헉! 이클립스(v3.1)에서 발생되는 널포인트 익셉션? ;;; (3) | 아빠몬 | 2025-05-22 |
2695586 | IFRAME 캐싱 질문 | 봄나비 | 2025-05-22 |
2695498 | [질문]실행가능한 jar파일.. 정말 이해가 안가네요... ㅡㅜ;; | 터1프한렩 | 2025-05-21 |
2695468 | 자바랑 이클립스에서요.. | 스킬 | 2025-05-21 |
2695375 | Mysql 연동하는 자바 질문있습니다. | 아리솔 | 2025-05-20 |
2695319 | 파워포인트 파일을 저장할 수 있을까요? | 시윤 | 2025-05-19 |
2695289 | [질문]Tween 값의 정도를 알고 싶습니다. | 타마 | 2025-05-19 |
2695238 | c 와 c++의 시작 (10) | ChocoHoilc | 2025-05-18 |
2695215 | 탑메뉴의 repeat-x .배경이 두가지에요ㅠ ㅠ | 널위해 | 2025-05-18 |