2017-05-20 15 views
0

확장자가없는 유틸리티 클래스의 내부 저장소에서 파일을 읽을 수 있습니까? 파일을 읽으려면 아래 코드가 있지만 openFileInput 메서드가 없기 때문에이 메서드를 사용할 수 없습니다. 이 파일을 읽으 려해야만하는 것이 있습니까?AppCompatActivity를 확장하지 않는 클래스에서 Android Studio의 내부 저장소에있는 파일 열기

private String readFromFile(String fileName) { 
    FileInputStream fis = null; 
    try { 
     fis = openFileInput("Links"); // this doesn't compile in a utility class 
     InputStreamReader isr = new InputStreamReader(fis); 
     BufferedReader bufferedReader = new BufferedReader(isr); 
     StringBuilder sb = new StringBuilder(); 
     String line; 
     while ((line = bufferedReader.readLine()) != null) { 
      sb.append(line); 
     } 
     return String.valueOf(sb); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 
+1

는'openFileInput'이 Context''의 방법으로 사용할 수 있습니다. – nasch

+0

@nash 네, 그게 더 낳습니다. 답으로 추가해야합니다. –

답변

0

당신은 당신이`readFromFile` 방법에 그 중 하나를 통과 할 수 있도록 java.io.FileInputStream

private String readFromFile(String fileName) { 
    InputStream in = null; 
    try { 
     in = new FileInputStream(fileName); 
     InputStreamReader isr = new InputStreamReader(in); 
     BufferedReader bufferedReader = new BufferedReader(isr); 
     StringBuilder sb = new StringBuilder(); 
     String line; 
     while ((line = bufferedReader.readLine()) != null) { 
      sb.append(line); 
     } 
     return String.valueOf(sb); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
}