수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

자바 파일 복사에 대해서...

안녕나야

2023.04.01

하나의 자바 파일을 다른 폴더로 복사하는 기능을 만들었습니다.

그런데 복사하는 과정에서 클래스명 부분을 사용자가 입력한 이름으로 바꿔주어야 합니다.

이런 경우에 어떻게 처리하는게 좋을까요?
처음에 버퍼스트림을 이용해서 파일을 복사했더니,

전송되는 내용을 중간에 캐치할 수가 없는거 같더군요.

한번 스트림 연결되서 보내면 마지막까지 그냥 쭉 전송되어 버리는거 같습니다.
그래서 Reader, Writer를 사용해 보았으나,

이번에는 스트링이 제대로 처리되지 않아서 안되더군요.

byte로 처리되는 내용을 스트링으로 비교하는 과정이 잘 안되었습니다.
그래서 결국,

무식하게도....

원본 파일을 2개의 파일로 분리해서 앞부분 복사하고, 클래스명 넣고, 다시 뒷부분 복사해서 완성했습니다.
이런 무식한 방법을 탈피하고자 질문 드립니다.

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 별

    근데 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
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com