0
OutputStreamWriter를 사용하여 다른 활동에서 작성한 텍스트 파일을 읽고 싶습니다. 이 Sale.java 내 readFromFile 방법입니다 :다른 활동의 파일 읽기
private int readFromFile(String request) {
int res = 0;
try {
//InputStream inputStream = openFileInput("dalassnums.txt");
File file=new File("dalassnums.txt");
InputStream inputStream = new FileInputStream(file);
if (inputStream != null) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String receiveString = "";
while ((receiveString = bufferedReader.readLine()) != null) {
String s=bufferedReader.readLine();
if(receiveString==request) {
res=Integer.valueOf(s);
break;
}
}
inputStream.close();
}
}
catch (FileNotFoundException e) {
Log.e("login activity", "File not found: " + e.toString());
res=0;
} catch (IOException e) {
//Log.e("login activity", "Can not read file: " + e.toString());
}
return res;
}
그리고 이것은 MainActivity.java에서 writeToFile 방법입니다 :
private void writeToFile2(String numchar) {
try {
//File file=new File("dalassnums.txt");
//OutputStream outputStream=new FileOutputStream(file);
OutputStreamWriter outputStreamWriter;
if(numchar=="1") outputStreamWriter = new OutputStreamWriter(openFileOutput("dalassnums.txt", Context.MODE_PRIVATE));
else outputStreamWriter = new OutputStreamWriter(openFileOutput("dalassnums.txt", Context.MODE_APPEND));
for(int k=0; k<imageNums.size();k+=2){
outputStreamWriter.append(imageNums.get(k));
outputStreamWriter.append("\n");
outputStreamWriter.append(imageNums.get(k+1));
outputStreamWriter.append("\n");
}
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}
readFromFile을 수행, 그것은 파일을 찾을 수 없습니다 의미 0 반환 컨텍스트를 전달하는 것에 대해 읽었지만 전달할 컨텍스트를 알 수 없습니다. 그리고 컨텍스트를 전달하는 것 외에 다른 방법이 있는지 궁금합니다. 도움이 될 것입니다.
나는 이것을 처음 시도했는데 같은 문제가있다. –
컨텍스트에 어떤 문제가 있습니까? 활동을 컨텍스트로 사용하십시오. Activity 내부에서'this '를 전달하거나 getApplicationContext를 사용하십시오. openFileInput/openFileOutput은 파일에 올바른 경로를 설정하므로 함께 사용해야합니다. – marcinj
getApplicationContext를 사용했습니다. 변경된 사항이 없습니다. 여전히 0을 반환합니다./ –