2013-03-19 3 views
0
여기

는 NullPointerException이 오류를지고 코드는?의 InputStream 반환 NullPointerException이 (자바)

* 편집 : printStackTrace에

03-19 18:20:18.662: E/AndroidRuntime(929): Caused by: java.lang.NullPointerException 

편집 2 : 코드를 제외한까지 :

public class ListViewAa3 extends ListViewA{ 



public String[] process(String cti)throws IOException{ 
    String ctid=cti; 
    Log.d("Outside try invoked","tag1"); 
    try{ 
     Log.d("beginning of try invoked","tag2"); 
     try{ 
    InputStream is = getAssets().open("USCOUNTIES.txt"); 
    InputStreamReader iz=new InputStreamReader(is); 
    BufferedReader br = new BufferedReader(iz);}catch(Exception e){e.printStackTrace();} 
+2

'getAssets()'는 null 일 수 있습니다. –

+0

어떻게 해결할 수 있습니까? 내 자산 폴더에 해당 파일이 있습니다. –

+0

더 많은 코드를 보지 않고 말하기는 어렵지만 디버거를 사용하거나 스택 추적을 보면'getAssets()'가 실제로 null인지 확인하십시오. 그런 다음 null인지 확인하십시오. –

답변

2

확인, 알겠습니다. 그때 같은 문제가있는 사람에게 context.getAssets.open("twentyone.txt");

를 사용,이 클래스에 주요 활동의 컨텍스트를 통과했다, 이렇게 : Context context=getApplicationContext();

: 활동 클래스의에서 onCreate 기능이 넣어 새로운 클래스의 기능에

패스 컨텍스트 (내 경우에는 "프로세스 (문자열 A, 컨텍스트 컨텍스트)") 그런 다음 처리 기능이 입력 :

InputStream is = context.getAssets().open("twentyone.txt"); 

밖으로 그런 어리석은 일을 파악하는 나 4 시간이 걸렸다 .

0

어쩌면 getAssets()가 null이며이 존재하는 경우, 파일 twentyone.txt이 있는지 여부를 확인하려고 전체 파일 경로를 입력하고 응용 프로그램을 다시 실행하십시오!

+0

파일이 존재합니다. 어쩌면 getAssets() null입니다 .. 어떻게 해결할 수 있습니까? 나는 안드로이드 BTW를 코딩하고있다. –

-1

열려있는 파일에 전체 경로가 없기 때문에 오류가 발생합니다. 시도하십시오

new File("twentyone.txt").getAbsolutePath() 
+0

어떻게해야합니까? –

+0

오픈 스트림으로 절대 파일 이름 사용 –

+0

그게 무슨 뜻입니까 –

관련 문제