Android 기기에서 파일을 읽고 쓰는 방법을 알아 내려고합니다. 이 파일은 XML 형식으로되어 있으며 XML을 객체 및 객체로 XML 형식으로 작성할 수있는 파서 및 데이터 구조가 이미 구축되어 있지만 마지막 장애물은 비 - 자원 파일에서 XML을 읽는 것입니다 (데이터 구조가 작동한다는 것을 알고 있기 때문에 리소스 파일에서 읽을 때 작동하며 비 리소스 파일에 기록합니다. 디버깅 도구 (스택 추적을 인쇄하는 방법을 모르겠다)를 사용하는 것은 끔찍한 일이지만 사실은이 파일을 읽거나 쓸 수 없다는 것을 알고 있습니다. 나는 Java로 파일을 작성하는 데 경험이 없기 때문에이 작업을 거친다.Android에서 파일 쓰기 및 읽기
쓰기 코드 :
File scoresFile = new File(getExternalFilesDir(null), "scores.xml");
if (!scoresFile.exists())
{
scoresFile.createNewFile();
}
OutputStream os = new FileOutputStream(scoresFile);
os.write(writer.toString().getBytes());
os.flush();
os.close();
읽기 코드 :
XmlPullParserFactory xmlFac = XmlPullParserFactory.newInstance();
XmlPullParser qXML = xmlFac.newPullParser();
InputStream is = null;
File scoresFile = new File(c.getExternalFilesDir(null), "scores.xml");
if (!scoresFile.exists())
{
try {
scoresFile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
is = new FileInputStream(scoresFile);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (is != null)
qXML.setInput(is,null);
else
qXML = c.getResources().getXml(R.xml.scores);
UPDATE : 읽기 섹션에 절은 항상 false로 평가되면 마지막. 그래서, InputStream null입니다 ... 내 문제의 루트 것으로 나타납니다.
귀하의 질문이나 문제는 정확히 무엇입니까? – rds
scores.xml 파일이 a) 생성되지 않았거나 b) 찾을 수없고 핸들을 얻지 못했습니다. – jcampos8782