2012-01-27 7 views
0

나는 안드로이드 초보자이며 파일 처리를 위해이 코드를 작성했지만 어떤 이유로 나는 파일에서 널 값을 항상 다시 얻고 있습니다. 나는 또한 readline()을 사용해 보았지만 같은 결과를 얻었다. 어떤 도움을 주시면 감사하겠습니다.파일 읽기가 안드로이드에서 작동하지 않습니다

 @Override 
     public void onClick(View v) 
     { 
      // TODO Auto-generated method stub 
      String file = "test123"; 
      try 
      { 
       OutputStream out = v.getContext().openFileOutput(file, MODE_PRIVATE); 
       InputStream in = v.getContext().openFileInput(file); 
       WriteFile(out); 
       String str = ReadFile(in); 

       Toast.makeText(v.getContext(), str, Toast.LENGTH_LONG); 
      } catch (FileNotFoundException e) 
      { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    }); 
} 

public static void WriteFile(OutputStream out) 
{ 
    OutputStreamWriter tmp = new OutputStreamWriter(out); 

    try 
    { 
     for (int i = 0 ; i < 10; i++) 
     { 
      tmp.write(i); 
     } 
    } 
    catch (IOException e) 
    { 
     // TODO Auto-generated catch block 
     e.printStackTrace();    
    } 
} 

public static String ReadFile(InputStream in) 
{ 
    InputStreamReader tmp = null; 
    String str = "";   

    tmp = new InputStreamReader(in); 
    BufferedReader reader=new BufferedReader(tmp);      

    try 
    { 
     for (int i = 0; i < 10; i++) 
     { 
      str += " " + reader.readLine();    
     }   

    } 
    catch (IOException e) 
    { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    return str; 
}  

}

+0

나는 같은 파일을 읽고 쓸 수 있다는 오류가 있다고 생각한다. 다른 파일을 사용해보십시오. – Yury

+0

나는 이미 작성한 파일을 읽고 싶다. – user1173171

답변

1

String file = "test123"; 그래서, 파일의 경로는 {root}/test123 당신이 뭔가를 작성했습니다 있는지에 액세스 할 수 있습니다 된 경로를 정의하는 시도해야합니다. (보통 :을/mnt/저장/your_file) 다음 , 당신은 쓰기/읽기 프로세스가 작동하는지 확인할 수 있습니다 여부를

참고 : FileOutputStream를 살펴 보자, 이미 유용한 방법

을 많이 구현
+0

openFileOutput()을 사용하지 않는 것이 좋습니다? openFileOutput (filename)은 입력에서 경로 분리 기호를 사용하지 않으므로 약간 혼란 스럽습니다. – user1173171

+0

"밖으로"FileOutputStream 작품 만들기 :) – user1173171

관련 문제