안드로이드 개발 질문/답변
(글 수 45,052)
웹에서 CSV 파일을 다운받아서
새 파일로 '저장'한 뒤
BufferedReader in = new BufferedReader(new FileReader("test.csv")")
String 변수 하나에 모두 담은다음
버퍼리더에 해당파일을 얹고 splite 한 뒤 String 배열로 선언해 봤습니다.
근데 일반 자바환경에서는 잘 돌아가는 데요
안드로이드 에뮬에서 실행시키면 새로만든 파일이 없다고 Exeception이 뜨네요;;;;
1. 혹시 파일 생성 없이 메모리에서 바로 String 변수에 담는 방법은 없나요?
2. 아니면 새로운 파일이 생성되는 경로가 어딘지 아시나요? ㅠㅠ
도움을 부탁드립니다. ㅠㅠ
Android, Unity3D
public void spliteItem(String url) throws IOException, IOException{
InputStream inputStream = new URL(url).openStream();
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
StringBuffer queryStringBuffer = new StringBuffer();
int c;
while ((c=in.read())!=-1) { //readlList()를 사용하면 한 줄만 읽기 때문에 전체를 읽기 위해
queryStringBuffer.append((char) c);
}
// 읽어온 StringBuffer를 String으로 변환한다.
String jmaster = new String(queryStringBuffer);
// 스플릿 시작
String[] getStr = jmaster.split(",");
// 외부 String 배열 초기화
Data = new String[getStr.length]; //Data는 외부에 정의해둔 String[] 입니다.
for(int i= 0;i <getStr.length;i++){
// 데이터 안의 필요없는 문자들을 제거하고 배열에 넣어줌, 가져온 데이터에 " " 같은 것을 제거해주기위함입니다.
stockData[i] =getStr[i].replace("\"", "").replace("\r\n", "").trim();
}
}
이렇게 해결했습니다. ㅎㅎㅎㅎ