Android 파일 작업 중의 openFileOutPut 와 openFileInput

개요:
    이전에 나 는'Android 에서 Shared Preferences 와 Editor 의 사용'이라는 블 로 그 를 쓴 적 이 있다.안 드 로 이 드 프로그램 에 데 이 터 를 저장 하 는 애플 리 케 이 션 을 말 합 니 다.안 드 로 이 드 의 5 가지 데이터 저장 방식 은 이전 글 에서 도 간단하게 소개 되 었 다.오늘 은 안 드 로 이 드 파일 작업 중의 openFileOutPut 와 openFileInput 에 대해 이야기 하 겠 습 니 다.
    나 는 모두 가 어느 정도 자바 를 배 운 적 이 있다 고 생각한다.안 드 로 이 드 를 배 우 는 것 은 자바 가 기초 이다.오늘 쓸 이 파일 작업 은 자바 의 파일 작업 과 거의 차이 가 나 지 않 습 니 다.모두 입력 스 트림/출력 스 트림 을 만 든 다음 에 우 리 는 지정 한 파일 에서 바이트 로 파일 의 내용 을 읽 고 우리 의 입력 스 트림 으로 읽 은 데 이 터 를 문자열 캐 시 에 추가 하 는 것 입 니 다.(여 기 는 StringBuilder 를 사용 합 니 다)new 래 new 가 마음 에 들 지 않 으 면 String 형식의 문자열 을 직접 사용 할 수 있 습 니 다.
읽 기 파일 키 코드:
/**
	 *    
	 */
	private void readerDataFromSD() {
	    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            //   SDcard  
            StringBuilder sb = new StringBuilder();
            try {
                File sdCardDir = Environment.getExternalStorageDirectory();
                File file = new File(sdCardDir, FILE_NAME);

                InputStream inputStream = new FileInputStream(file);
                int len = 0;
                byte[] buffer = new byte[1024];
                while ((len = inputStream.read(buffer)) != -1) {
                    sb.append(new String(buffer, 0, len));
                }
                mShowResultTextView.setText(sb.toString());

                inputStream.close();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
	}

파일 을 쓸 때,우 리 는 먼저 출력 흐름 을 만 든 다음,FileOutputStream 을 PrintStream 으로 포장 하여 마지막 으로 출력 해 야 한다.물론 여러분 도 포장 흐름 을 사용 하지 않 고 노드 흐름 으로 데 이 터 를 직접 써 도 됩 니 다.위 에서 데 이 터 를 읽 는 것 과 같 습 니 다.
파일 작성 키 코드:
/**
	 *    
	 */
	private void writeData2SD() {
	    System.out.println(" SDCard    ");
        //       SDCard
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            String content = mContentEditText.getText().toString();
            try {
                //   SDcard  
                File sdCardDir = Environment.getExternalStorageDirectory();

                File file = new File(sdCardDir, FILE_NAME);
                // File file = new File(sdcardPath + File.separator + FILE_NAME);
                
                //        RandomAccessFile  
                RandomAccessFile raf = new RandomAccessFile(file, "rw");
                //            
                raf.seek(file.length());
                //       
                raf.write(content.getBytes());
                raf.close();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
	}

여러분,위 에 있 는 거 보 실 수 있어 요.
raf.seek(file.length());

파일 기록 포인 터 를 마지막 위치 로 이동 합 니 다.그래서 이런 식 으로 파일 을 추가 로 쓰 는 거 야.만약 네가 이런 방식 으로 서 류 를 쓰 고 싶 지 않다 면,이 말 을 없 애 야 한다.
권한 설명:
또한 읽 기와 쓰기 권한 을 추가 하 는 것 을 잊 지 마 세 요:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

참고 자료:
《미 친 안 드 로 이 드 강의》

좋은 웹페이지 즐겨찾기