어제 프로젝트를 진행할 때 서버에서 파일을 다운로드하여 지역 지역에 저장하는 것에 대한 지식을 사용했습니다. 나는 전에 그들에게 노출 된 적이 없다. 나는 어제 하루 동안 그들을 위해 일 했고이 작은 기능이 구현되었습니다. 아래 구현 프로세스에 대해 간단히 이야기 해 봅시다.
1. 기본 지식
웹 사이트에서 리소스를 다운로드하려면 서버의 리소스 위치에 대한 설명 인 URL을 얻습니다. 다운로드 프로세스에는 다음 단계가 있습니다.
(1) 클라이언트는 연결 객체를 얻기 위해 URL 요청을 시작합니다.
(2) 서버는 URL을 구문 분석하고 지정된 리소스를 클라이언트에 반환합니다.
(3) 저장된 디렉토리 및 저장된 파일 이름을 만듭니다.
(4) 쓰기 데이터는 출력입니다.
(5) 입력 스트림 및 출력 스트림을 끕니다.
2. 코드를 구현하는 방법
/** * @function은 임시 자료 인터페이스 다운로드 * @param filepath 파일에 저장할 디렉토리 * @param 메소드 요청 메소드 * @param url 요청 * @return */public url, string filepath, 문자열 메서드) {//system.println (”filename-->; // 다른 폴더 디렉토리 만들기 파일 = 새 파일 (FilePath); // 폴더가 존재하는지 확인하십시오 (! file.exists ()) {// 폴더가 존재하지 않으면 새 폴더 파일을 만듭니다. } fileoutputStream fileout = null; httpurlconnection conn = null; inputStream inputStream = null; try {// 링크 URL 생성 httpurl = new URL (url); conn = (httpurlConnection) httpurl.openConnection (); // 포스트 모드에서 양식을 제출하면 기본 get 메소드는 conn.setRequestMethod (method)입니다. conn.setdoinput (true); conn.setdooutput (true); // 캐시 된 conn.setUeCaches (false); // 지정된 리소스를 연결하여 connected.connect (); // 네트워크 입력 스트림을 가져옵니다. inputStream = conn.getInputStream (); bufferedInputStream bis = 새로운 bufferedInputStream (inputStream); // 파일의 저장 경로가/if (! filepath.endswith ( "/"))로 끝나는 지 여부를 결정합니다. {filepath += "/"; } // 파일에 쓰기 (파일의 저장 경로 후에 파일 이름이 추가되어야한다는 참고) 파일 아웃 = 새 FileOutputStream (FilePath+"123.png"); BufferedOutputStream BOS = New BufferedOutputStream (파일 아웃); 바이트 [] buf = 새로운 바이트 [4096]; int 길이 = bis.read (buf); // 파일을 저장하는 동안 (길이! = -1) {bos.write (buf, 0, length); 길이 = bis.read (buf); } bos.close (); bis.close (); conn.disconnect (); } catch (예외 e) {e.printstacktrace (); System.out.println ( "예외를 던져 !!"); } 반환 파일; } 3. 코드 테스트 클래스 (기본 기능)
/** * @param args */public static void main (String [] args) {String Photourl = "https://ss0.bdstatic.com/5av1bjqh_q23odcf/static/superman/img/logo/bd_logo1_31bdc765.png"; 문자열 filename = photourl.substring (photourl.lastindexof ( "/")); //system.out.println("filename--->"+filename); 문자열 filepath = "d :"; 파일 파일 = saveurlas (photourl, filepath + filename, "get"); System.out.println ( "run ok!/n <br> get url file" + file); }위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.