URL에서 JSON 데이터가 포함 된 파일을 다운로드 할 수 있습니까? 또한, 내가 필요로하는 파일은 파일 확장자가 없거나 문제가 있거나 다운로드 할 때 .txt 확장자를 갖도록 강제 할 수 있습니까?Android - URL에서 JSON 파일 다운로드
업데이트 : 내가 아는 사이트에 액세스하려면 웹 사이트에 입력 한 사용자 이름과 비밀번호가 필요합니다. 파일을 검색 할 때이 값을 입력하는 방법이 있습니까?
URL에서 JSON 데이터가 포함 된 파일을 다운로드 할 수 있습니까? 또한, 내가 필요로하는 파일은 파일 확장자가 없거나 문제가 있거나 다운로드 할 때 .txt 확장자를 갖도록 강제 할 수 있습니까?Android - URL에서 JSON 파일 다운로드
업데이트 : 내가 아는 사이트에 액세스하려면 웹 사이트에 입력 한 사용자 이름과 비밀번호가 필요합니다. 파일을 검색 할 때이 값을 입력하는 방법이 있습니까?
기본적으로 당신이 뭔가를 할 것이다 :
코드 :
URL address = URL.parse("http://yoururlhere.com/yourfile.txt");
URLConnection conn = new URLConnection(address);
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer bab = new ByteArrayBuffer(64);
int current = 0;
while((current = bis.read()) != -1) {
bab.append((byte)current);
}
FileOutputStream fos = new FileOutputStream(new File(filepath));
fos.write(bab.toByteArray());
fos.close();
URLConnection을 인스턴스화 할 수 없으므로 실패합니다. – FractalBob
당신이 URLConnection의를 사용하여 시도 적이 있습니까?
private InputStream getStream(String url) {
try {
URL url = new URL(url);
URLConnection urlConnection = url.openConnection();
urlConnection.setConnectTimeout(1000);
return urlConnection.getInputStream();
} catch (Exception ex) {
return null;
}
}
또한이처럼 PARAMS를 인코딩 기억
String action="blabla";
InputStream myStream=getStream("http://www.myweb.com/action.php?action="+URLEncoder.encode(action));
입력 스트림을 닫는 것을 잊지 마세요 :) –
확인합니다. 다른 사람들이 지적한 것처럼 기본 URL은 시작점으로도 충분합니다.
다른 코드 예제가 작동하는 동안 JSON 컨텐츠의 실제 액세스는 한 줄 일 수 있습니다. Jackson JSON 라이브러리를 사용하면 할 수있는 :
Response resp = new ObjectMapper().readValue(new URL("http://dot.com/api/?customerId=1234").openStream(),Response.class);
당신이 정의한 '응답'으로 JSON 데이터를 결합하기를 원한다면 :지도를 얻기 위해 대신 할 것 :
Map<String,Object> map = new ObjectMapper().readValue(new URL("http://dot.com/api/?customerId=1234").openStream(), Map.class);
로 사용자 정보를 추가하는 것; 이들은 일반적으로 Basic Auth을 사용하여 전달되며 base64로 인코딩 된 사용자 정보를 "Authorization"헤더로 전달합니다. URL에서 HttpURLConnection을 열고 헤더를 추가해야합니다. JSON 액세스 부분은 여전히 동일합니다.
Here은 클래스 파일이며 URL에서 JSON 데이터를 다운로드하기 위해 작성한 인터페이스입니다. 사용자 이름 비밀번호 인증의 경우 액세스하는 웹 사이트에서 구현 방법에 따라 다릅니다.
안녕하세요, [이] (http://stackoverflow.com/questions/576513/android-download-binary-file-problems)를 사용해보세요. – Pasha