2011-03-01 64 views
0

我正在将文件保存到Android中的非默认位置,并试图打开它以从中加载信息,但找不到指定方式该文件路径...试图在Android中从非默认文件夹打开文本文件

这里是我现在的储蓄文件...

文件目录=新的文件(路径+“/Android/data/com.etechtour/save_data/”);

directory.mkdirs(); 

    extStorageDirectory = path.toString() + "/Android/data/com.etechtour/save_data/"; 

    File file = new File(extStorageDirectory, "pumpItUpGas.txt"); 
    try 
    { 
     outStream = new FileOutputStream(file); 
     OutputStreamWriter out = new OutputStreamWriter(outStream); 
     out.write("Record#: " + record + ", Nickname: " + nickname + ", Year: " + year + ", Make: " + make + ", Model: " + model); 
     out.flush(); 
     out.close(); 
     outStream.flush(); 
     outStream.close(); 
    } 

现在我的文件已经成功保存到这个位置,但在尝试访问它时,我想不出任何工程设置的路径来加载文件。我在网上随处浏览,似乎无法找到任何有效的东西,除了使用默认的保存位置。以下是我如何加载,但我是否强制关闭或获取空指针异常

try 
{ 
     String filename = Environment.getExternalStorageDirectory().toString() + "/Android/data/com.etechtour/save_data/pumpItUpGas.txt"; 
     InputStream in = openFileInput("pumpItUpGas.txt"); 
     //FileReader fileReader = new FileReader(file); 
     //FileInputStream fileInput = new FileInputStream(path); 
     if (in != null) 
     //if (fileReader != null) 
     { 
      InputStreamReader temp = new InputStreamReader(in); 
      //InputStreamReader tmp = new InputStreamReader(in); 
      BufferedReader reader = new BufferedReader(temp); 
      StringBuffer buf = new StringBuffer(); 

      while ((str = reader.readLine()) != null) 
      { 
       buf.append(str); 
      } 
      //fileInput.close(); 
      in.close(); 

      return str; 

     } 
    } 

任何帮助将不胜感激。谢谢

+0

你是说FileOutputStream(file)允许你在FileInputStream(file)不允许你使用同一个文件读取的同时保存成功吗? – 2011-03-01 01:25:27

+0

正确的,我保存到文件夹“/Android/data/com.etechtour/save_data/”和该文件被称为pumpItUpGas.txt,但是当使用InputStream时,你不能指定路径,所以我不能打开同一个文件... – Phil 2011-03-01 11:07:43

回答

1

使用FileInputStreamFileReader与您的File对象,就像正常的Java I/O一样。

相关问题