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" />
참고 자료:
《미 친 안 드 로 이 드 강의》
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.