톰캣서버에 문서파일을 두고, 안드로이드단에서 톰캣서버에 있는 파일을 가져오려합니다....
참고사이트나 방법좀 가르쳐주세여.......!(__)
네 스트림으로 파일 가져오는 예제보구 따라해서 sdcard에 저장시켯는데여
/*
추가로 jsp로 파일 다운로드되는 로직이 잇구요
url = xxx.xxx.x.xx:0000/test.jsp (톰캣서버에 jsp파일 잇어여)
원래 제 생각은 jsp로 파일 다운로드 로직 구현해서 url 연결하면 안드로이드단에서도 다운되지 않을까 햇는데...
흠
지식이 많이 부족합니다
사소한것이라도 좋으니 많은 답글 부탁드려요..
*/
try {
String DownloadURL = "http://www.androes.com/exchange.xml";
String FileName = "/mnt/sdcard/exchange.xml"; // ==============> 이부분이 파일경로(mnt/sdcard)에 파일명(exchange.xml)로 지정해 주는 곳인데요.. 파일명을 지정하지 않고 url(파일이 잇는)에서 그 파일명 그대로 sdcard에 저장하는 법을 알고싶어요..
InputStream inputStream = new URL("DownloadURL).openStream();
File file = new File(FileName);
OutputStream out = new FileOutputStream(file);
saveRemoteFile(inputStream, out);
out.close();
Logger.d("androes", "File Write /mnt/sdcard/exchange.xml");
} catch(Exception e){
Logger.d("androes", "File Write Failed! /mnt/sdcard/exchange.xml");
e.printStackTrace();
}
}
public void saveRemoteFile(InputStream is, OutputStream os) throws IOException
{
int c = 0;
while((c = is.read()) != -1)
os.write(c);
os.flush();
}
그게 제가 쓴글 중 /* ~ */ 주석처리처럼 쓴 곳 보면 jsp로 다운로드하는 로직을 만들엇습니다.
그래서 결국 URL에 쓰여지는 것은 http://000.000.0.00:0000/test.jsp 로 다운로드 로직부분을 URL로 쓰구여
직접적인 파일명을 사용하진 않습니다..ㅠㅠ
다운로드 로직을 통해 안드로이드단에서 다운로드 받을 생각이엇던건데..
파일명을 명시해주면 jsp 다운로드 로직을 통해서 원하는 파일을 sdcard내에 폴더로 가져는 옵니다만,....
이렇게하려는 이유가 특정 폴더의 모든 파일을 다운받는 로직을 jsp로 구현해서 안드로이드단에서 jsp를 사용해서 sdcard로 모든 파일을 가져오려는...
제가하려는 방법이 맞는건지도 모르겟네요..가능한건지..
JSP로 만들었으면 웹에서 표시되는 HTML태그든 자바스크립트든 있겠군요. 클라이언트에서 다운로드를 시켜야 하니까요.
어차피 다운로드 시키려면 웹상의 파일 실제 주소를 넣을텐데, 그러면 일단 HttpClient로 jsp 페이지에 요청해서 결과값을 받은 다음
그걸 파싱해서 동일하게 처리하면 되겠습니다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URL;
public class Main{
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
String url = "http://www.naver.com";
String fileName = "C:\\" +url.substring(url.lastIndexOf("/") + 1);
File file = new File(fileName);
try {
br = new BufferedReader(new InputStreamReader(new URL("url).openStream()));
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
String str = null;
while((str = br.readLine()) != null){
bw.append(str);
}
bw.flush();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally{
try { br.close(); } catch (IOException e) { e.printStackTrace(); }
try { bw.close(); } catch (IOException e) { e.printStackTrace(); }
}
}
}
이렇게 하니까 저는 되는데 안되나요?




그냥 스트림 열어서 읽으면 파일 가져오지 않나요?