번호 : 처음 두 Log.e()
통화 인쇄 주소Android 앱의 저작물에 파일을 읽고 쓰는 것이 잘못된 이유는 무엇입니까? 제
AssetManager mgr = DeviceListActivity.this.getApplicationContext().getAssets();
try {
Log.e("Glenn:", address);
FileOutputStream fout = mgr.openFd("device/device_address.txt").createOutputStream();
PrintWriter _fout = new PrintWriter(fout);
_fout.println(address);
Log.e("Glenn", address);
_fout.close();
fout.close();
InputStream fin = mgr.open("device/device_address.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fin));
address = br.readLine();
try {
Log.e("Glenn:", address);
} catch (NullPointerException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
Log.e("Glenn", "error with OutputStream");
}
값은 실제로 디바이스 MAC 주소 올바른 값이다. 그러나 방금 썼던 파일에서 읽은 주소 값을 테스트하려고 시도했을 때 NullPointerException
이 Log.e()
호출 내에서 발견되었습니다. 즉, 파일에서 읽은 값이 NULL
입니다. 코드의 문제점을 지적 할 수 있습니까?
데이터를 쓰거나 기존의 Assets/raw 파일을 변경할 수 있습니까? 나는 그것이 포장 (. apk)이고 크기가 확장되지 않기 때문에 가능하지 않다라고 생각한다. –