android raw 파일 에서 파일 내용 읽 기

8623 단어 android
Android 읽 기 파일http://www.eoeandroid.com/thread-97495-1-1.html
Android 개인 폴 더 파일 의 기록 및 읽 기http://www.eoeandroid.com/thread-69378-1-1.html
Android 파일 내용 읽 기 동작http://www.eoeandroid.com/thread-82295-1-1.html
게시 물 본문
AsyncTask,비동기 처리,시간 이 걸 리 는 작업 을 주 스 레 드(UI 스 레 드)에서 분리 하여 처리 하여 운행 속도(유창 도)를 높이 는 데 사 용 됩 니 다.AsyncTask 를 배 우려 고 했 는데 시간 이 걸 리 는 동작 을 보 았 을 때 큰 파일 읽 기 동작 을 고려 한 다음 raw 폴 더 아래 파일 을 읽 어 보 았 습 니 다.두 가지 방법 으로 읽 습 니 다.하 나 는 줄 에 따라 읽 고 하 나 는 크기 에 따라 읽 습 니 다.주요 코드 는 다음 과 같 습 니 다:1:줄 별로 읽 기
class FileReadTask extends AsyncTask {
                 String line_str;
                 String result;
                 Context context;
 
                FileReadTask(Context context) {
                         this.context = context;
                 }
                 int i = 0;
                 @Override
                 protected String doInBackground(String... params) {
                         BufferedReader reader = new BufferedReader(new InputStreamReader(
                                         context.getResources().openRawResource(R.raw.test2)));
                         try {
                                 while ((line_str = reader.readLine()) != null
                                                 && !(line_str = reader.readLine()).equals("")) {
                                         result += line_str;
                                         System.out.println("line_str:"+line_str);
                                         publishProgress(line_str);
                                 }
                                 System.out.println("result:"+result);
                         } catch (IOException e) {
                                 e.printStackTrace();
                         }
                         return line_str;
                 }
 
                @Override
                 protected void onPostExecute(String result) {
                         super.onPostExecute(result);
 
                }
 
                @Override
                 protected void onPreExecute() {
                         super.onPreExecute();
 
                }
 
                @Override
                 protected void onProgressUpdate(String... values) {
                         super.onProgressUpdate(values[0]);
                         System.out.println("values:" + values[0]);
                         array.add(values[0]);
                         adapter.notifyDataSetChanged();
                 }
 
        }
 


2:크기 로 읽 기
InputStream input = context.getResources().openRawResource(R.raw.test2);
                 String result = null;
                 int i;
                 byte[] by = new byte[128];//      
                 try {
                         while((i = input.read(by))>0){
                                 byte[] bys = new byte[i];
                                 input.read(bys,0,i);
                                 String s = new String(bys);
                                 result +=s;
                                 System.out.println(s);
                         }
                 } catch (IOException e) {
                         e.printStackTrace();
                 }


 





좋은 웹페이지 즐겨찾기