jsp 파일 다운로드 이름 변경
나는 디렉토리에 있는 2 개의 파일이, 첫번째 것 실패 한다 renameto를 사용할 때 그러나 두번째 성공 이다. 왜 그런 가요? 위의 코드 샘플에서는 다음과 같은 결과를 생성 합니다. 이 예제를 테스트 하려면 먼저 ` C ` 드라이브에 ` program .txt ` 파일을 만듭니다. Mac OS에서 대상 파일이 이미 존재 하는 경우 renameto가 기존 파일을 소스 파일로 재지정 합니다. olfile 파일 = 새 파일 („old.txt“); 파일 그러면 newfile = 새 파일 („그러면 newfile .txt“); 자바는 renameto () 방법으로 파일을 개명 하기 위하여 온다. 그러나,이 방법은 정말 플랫폼에 따라 달라 집니다: 당신은 성공적으로 * nix에서 파일의 이름을 바꿀 수 있지만 Windows에서 실패 했습니다. 따라서 반환 값 (true 이면 파일 이름 바꾸기 성공 하면 false 실패 한 경우) 항상 파일 이름을 바꿀 수 있는지 확인 해야 성공. 변경 된 파일 이름으로 파일 다운로드를 리디렉션하는 방법? 공용 클래스 파일ervlet 확장 httpservlet {문자열 getcontenttype (문자열 파일 이름) {문자열 확장명 [] = {//파일 확장명 „txt“,//0-일반 텍스트 „htm“,//1-하이퍼텍스트 „jpg“,//2-jpeg 이미지 „png로“,//2-jpeg 이미지 „gif“,//3-gif 이미지 „pdf“,//4-어도비 pdf 파일 „doc“,//5-마이크로 소프트 워드 „docx“,}; 더 많은 문자열 mimetype을 추가할 수 있습니다 [] = {//mime 형식 „텍스트/일반“,//0-일반 텍스트 „텍스트/html“,//1-하이퍼텍스트 „이미지/도트 jpg“,//2-이미지 „이미지/도트 jpg“,//2-이미지 „이미지/gif“,//3-이미지 „응용 프로그램/pdf“,//4-어도비 pdf로 „응용 프로그램/msword“,//5-마이크로 소프트 단어 „응용 프로그램/msword“,//5-마이크로 소프트 워드},//당신은 더 많은 contenttype = „텍스트/html을 추가할 수 있습니다“; 기본 유형//점 + 파일 확장자 int dotposition = 파일명 .lastindexof (`. `); 파일 확장자 문자열 가져오기 fileextension = 파일 이름. 하위 문자열 (dotposition + 1); 에 대 한 확장명을 mime 형식 일치 (int 인덱스 = 0; 인덱스 < mimetype. 길이; 인덱스 + +) {경우 (확장명 [index])) {contenttype = mimetype [인덱스]; break;}} 반환 contenttype; } 보호 된 void processrequest (요청, httpservleresponse 응답)을 throw 하 고, ioexception (문자열 파일 이름 = 요청 .getparameter ("파일 이름"); ("란 이다") 문자열 란 이다 = 요청.
문자열 경로 = „c:webftp_file“; 문자열 fullpath = 경로 + 파일 이름; 파일 파일 = 새 파일 (fullpath); 문자열 contenttype = getcontenttype (파일 이름); 를 입력 합니다. 인쇄 ln (contenttype); (contenttype). 응답. settheader („내용-처리“, „첨부 파일; 파일 이름 = „+ realname); int 길이 = (int) 파일 길이 (); 경우 (길이 > 정수. 최대 _value) {} 바이트 [] 바이트 = 새 바이트 [길이]; 지 느 러 미 = 새 fileinputstream (파일); 지 느 러 미 읽기 (바이트); 운영 체제 = 응답입니다 (). os. 쓰기 (바이트); 운영 체제 플러시 (); }//< editor-접어 defaultstate = "축소" desc = "httpservlet 메서드.