2012-06-19 1 views
-2

i java에서 데이터를 가져 오려고했습니다. 만약 내가 평소 자바 프로그램으로 나는 엑셀에서 데이터를 받고 그것을 console.But 내 Robotium 테스트 프로젝트에 넣어지고, 나는 널 포인터 예외 (파일이나 디렉토리를 찾을 수 없습니다)지고 있어요. 물론Excel에서 데이터를 가져올 때 널 포인터 예외가 발생합니까?

public void testCanOpenSettings() throws IOException, Exception { 
    loginvalid(); 
} 

public void Eula() { 

    if(solo.searchText("Accept")) 
    { 
     System.out.println(" Eula accept"); 
     solo.clickLongOnText("Accept"); 
    } 
} 

public void loginvalid() throws IOException { 
    String username; 
    String password; 
    solo.sendKey(Solo.MENU); 
    solo.sleep(3000); 
    solo.clickLongOnText("Sign In"); 
    solo.sleep(3000); 
    //solo.clearEditText(0); 
    username = Readexcel(0,0); 
    password = Readexcel(0,1); 
    solo.enterText(0,username); 
    solo.enterText(1, password); 
    solo.clickOnCheckBox(0); 
    solo.clickLongOnText("Sign In"); 

} 
public static String Readexcel(int row,int col) throws IOException { 
    String filename = "C://Documents//Robo//robo1.xls"; 
    String s = ""; 

    try 
    { 
     FileInputStream fis = new FileInputStream(filename); 
     HSSFWorkbook myWorkBook = new HSSFWorkbook(fis); 
     HSSFSheet mySheet = myWorkBook.getSheetAt(0); 
     HSSFRow row1 = mySheet.getRow(row); 
     HSSFCell cell1 = row1.getCell(col); 
     s = cell1.getRichStringCellValue().getString(); 
     System.out.println("Cell 1 : "+s); 
     Log.d("cell value",s); 

     System.out.println(s); 
      return s; 

    } 
    catch (IOException e) { 
     e.printStackTrace();strong text 
     return null; 
    } 

    } 
} 
+0

어떤 줄이 실패합니까? – RonK

+0

log cat please ......... –

+2

stacktrace를 게시하고 어떤 행에서 예외가 발생하는지 알려주십시오. – m0skit0

답변

1

당신은 파일 C://Documents//Robo//robo1.xls을 읽고, 그가 귀하의 컴퓨터 하드 드라이브에 저장이되는 휴대 전화에 액세스 할 수 없습니다. 파일을 휴대 전화 SD 카드에 넣고 해당 위치로 uri를 사용해야합니다.

File storage = Environment.getExternalStorageDirectory() //Returns sd-card 
String filename = "robo1.xls"; //file name, may have path separators 
File myfile = new File(storage, filename); 
//myfile is now a File object that you can use, to get the path, use myfile.getAbsolutePath() 
+0

고마워요, 그 작업 ... – Vaishnavi

+0

@Vaishnavi 감사합니다 :) 왼쪽에있는 점수 아래에있는 체크 표시를 클릭하여 대답을 수락하십시오. – Jave