안드로이드 개발 질문/답변
(글 수 45,052)
웹주소에서
약 150메가 정도 되는 동영상 파일을 다운로드 해서 sd카드에 저장 시키려고 합니다.
int nReadByte = 0;
byte[] Data = new byte[512];
try {
URL Url = new URL("주소");
URLConnection URLConn = Url.openConnection();
InputStream is = URLConn.getInputStream();
FileOutputStream fos = new FileOutputStream("/sdcard/test.txt");
while((nReadByte = is.read(Data)) != -1) {
fos.write(Data, 0, nReadByte);
}
is.close();
fos.close();
} catch (IOException e) {
// Error
}
위의 방식과 몇가지 다른 방식으로 했는데 불가능 하더군요.
어떻게 하는게 좋을가요..
아주 중요한 문제인데 ㅠㅠ
약 150메가 정도 되는 동영상 파일을 다운로드 해서 sd카드에 저장 시키려고 합니다.
int nReadByte = 0;
byte[] Data = new byte[512];
try {
URL Url = new URL("주소");
URLConnection URLConn = Url.openConnection();
InputStream is = URLConn.getInputStream();
FileOutputStream fos = new FileOutputStream("/sdcard/test.txt");
while((nReadByte = is.read(Data)) != -1) {
fos.write(Data, 0, nReadByte);
}
is.close();
fos.close();
} catch (IOException e) {
// Error
}
위의 방식과 몇가지 다른 방식으로 했는데 불가능 하더군요.
어떻게 하는게 좋을가요..
아주 중요한 문제인데 ㅠㅠ
2010.08.31 10:49:21
네 인터넷 권한 , sd카드 권한 다 주었습니다.
소스를 바꿔서
InputStream inputStream;
try {
inputStream = new URL("주소").openStream();
Toast.makeText(category.this, "주소패스",Toast.LENGTH_LONG).show();
File file = new File("sd카드주소");
OutputStream out = new FileOutputStream(file);
writeFile(inputStream, out);
out.close();
Toast.makeText(category.this, "성공",Toast.LENGTH_LONG).show();
} catch (MalformedURLException e) {
Toast.makeText(category.this, "MalformedURLException",Toast.LENGTH_LONG).show();
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
Toast.makeText(category.this, "IOException",Toast.LENGTH_LONG).show();
// TODO Auto-generated catch block
e.printStackTrace();
}
이소스대로 하였을때
대충 테스트 해보았는데
} catch (IOException e) {
여기로 빠져버립니다.
첫 라인 인풋 스트림도 읽지 못하고 말입니다. ㅠㅠ
소스를 바꿔서
InputStream inputStream;
try {
inputStream = new URL("주소").openStream();
Toast.makeText(category.this, "주소패스",Toast.LENGTH_LONG).show();
File file = new File("sd카드주소");
OutputStream out = new FileOutputStream(file);
writeFile(inputStream, out);
out.close();
Toast.makeText(category.this, "성공",Toast.LENGTH_LONG).show();
} catch (MalformedURLException e) {
Toast.makeText(category.this, "MalformedURLException",Toast.LENGTH_LONG).show();
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
Toast.makeText(category.this, "IOException",Toast.LENGTH_LONG).show();
// TODO Auto-generated catch block
e.printStackTrace();
}
이소스대로 하였을때
대충 테스트 해보았는데
} catch (IOException e) {
여기로 빠져버립니다.
첫 라인 인풋 스트림도 읽지 못하고 말입니다. ㅠㅠ
SD카드 쓰기 권한은 주셨나요?