2011-04-19 47 views
3

我正在尝试使用eclipse工作区阅读安卓应用程序的Excel表格。我把文件路径,但它似乎甚至没有找到它。我需要在某处声明文件的路径吗?阅读安卓程序的Excel表格

以下是我的代码。感谢您的帮助!

public void onCreate(Bundle savedInstanceState) { 
     vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); // calls VIBRATOR_SERVICE when button is pressed 
     screensize = getScreenSize(); 
     setTheme(android.R.style.Theme_Translucent_NoTitleBar); 
     super.onCreate(savedInstanceState); 

     Eula.show(this); // displays the EULA and asks user to Accept or Don't Accept 

     try{ 
      fs = new FileInputStream(new File("/Users/paul/Desktop/CollegeTrack/Samp.xls")); 
      InputStream fileinput = fs; 
      try{ 
       Workbook workbook = Workbook.getWorkbook(fileinput); 
       sheet = workbook.getSheet(0); 
       database_array = Database.classDatabase(sheet); //stores each row in an array 
       workbook.close(); 

      } 
      catch (BiffException e) { 
       e.printStackTrace(); 
      } 
       catch (IOException e) { 
       e.printStackTrace(); 
      } 
     fs.close(); 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
     } 
      savedAssignments_array = Database.assignmentDatabase(); 
      savedCourses_array = Database.savedCourses(); 
      goToWelcomeScreen(); 
     } 
+0

你有什么例外。这个看起来很正确。你可能会得到一个IOException。你读过异常堆栈跟踪吗? – 2011-04-19 16:27:14

回答

4

它可能失败,因为路径的你使用:

fs = new FileInputStream(new File("/Users/paul/Desktop/CollegeTrack/Samp.xls"));

我想这点到一个文件在您的计算机上的某个地方,因为它有“桌面”的路径。你的模拟器运行一个完全独立的操作系统(Android),它没有这个文件的位置的概念。为了访问它,您需要1)将文件传输到仿真器的存储或2)在两者之间建立共享网络连接。

从实际手机的角度思考它:您无法将手机指向桌面上的文件。这是一个独立的独立设备。模拟器就是这样,它恰好在您电脑的操作系统上运行。

+0

谢谢!这非常有帮助! – dadude5888 2011-04-20 20:06:11