자바 파일 을 byte 바이트 로 변환 합 니 다.


      최근 안 드 로 이 드 를 할 때 동료 가 하나의 URL 로 그림 한 장 을 가 져 오 는 것 이 너무 느리다 고 했 습 니 다. 바이트 가 올 수 있 는 지 없 는 지 테스트 해 보 았 습 니 다. File 의 파일 을 by te [] 배열 바이트 로 바 꾸 었 습 니 다. 다음은 코드 입 니 다.
 
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

/**
 *         byte[]  ,              
 * @author spring sky
 *<br> Email:[email protected]
 *<br> QQ:840950105
 *
 */
public class FileToByte {
	public static void main(String[] args) throws Exception {
		File file = new File("d:/a.png");
		byte[] b = getByte(file);
		/***
		 *      
		 *    10   
		 */
		for (int i = 0; i < b.length; i++) {
			System.out.print(b[i]);
			if(i%10==0&&i!=0)  
			{
				System.out.print("
"); } } /** * */ File newFile = new File("e:/ .png"); OutputStream os = new FileOutputStream(newFile); os.write(b); // os.flush(); os.close(); } /** * * @param file * @return byte[] * @throws Exception */ public static byte[] getByte(File file) throws Exception { byte[] bytes = null; if(file!=null) { InputStream is = new FileInputStream(file); int length = (int) file.length(); if(length>Integer.MAX_VALUE) // int { System.out.println("this file is max "); return null; } bytes = new byte[length]; int offset = 0; int numRead = 0; while(offset<bytes.length&&(numRead=is.read(bytes,offset,bytes.length-offset))>=0) { offset+=numRead; } // file if(offset<bytes.length) { System.out.println("file length is error"); return null; } is.close(); } return bytes; } }

위의 getByte 방법 으로 바 이 트 를 얻 을 수 있 습 니 다. 그리고 제 가 바 이 트 를 파일 로 바 꾸 는 것 도 문제 가 없습니다!이러한 방식 은 주로 xml 또는 json 에 파일 을 포장 하여 전송 하 는 것 입 니 다. 그러나 저 는 개인 적 으로 서버 측 이 똑 같이 전송 흐름 을 준다 고 생각 합 니 다. 그러나 이런 방식 은 단점 이 존재 합 니 다. 예 를 들 어 파일 이 너무 크 면 바이트 가 많아 질 것 입 니 다. 그러면 클 라 이언 트 가 갑자기 어떤 이유 로 서버 에 연결 하지 못 하면 파일 전송 에 실패 할 것 입 니 다!저 는 이런 방식 을 추천 하지 않 습 니 다. 개인 적 으로 url 을 사용 하여 얻 을 수 있다 고 생각 합 니 다. 그러면 정지점 전송 기능 도 추가 하여 많은 이상 한 문 제 를 제거 할 수 있 습 니 다!이렇게 하 는 게 좋아!그리고 저 는 여러분 들 이 이런 방식 으로 클 라 이언 트 에 게 파일 을 전송 하 는 것 을 고려 하지 않 았 으 면 좋 겠 습 니 다!

좋은 웹페이지 즐겨찾기