2012-01-26 44 views
0
package com.test.methods; 

import java.io.BufferedReader; 
import java.io.DataInputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.io.InputStreamReader; 

import android.R; 
import android.app.Activity; 
import android.app.ListActivity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

import com.crumbin.main.R.color; 
import com.google.gson.JsonArray; 
import com.google.gson.JsonElement; 
import com.google.gson.JsonObject; 
import com.google.gson.JsonParser; 



public class JsonParserActivity extends Activity { 


    String strLine = null; 
    String[] values = null; 
    @Override 
     public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(com.main.R.layout.user_main); 





       // Open the file that is the first 
       // command line parameter 




      try { 
       FileInputStream fstream = new FileInputStream("/home/hic/jdata.txt"); 

       // Get the object of DataInputStream 
       DataInputStream in = new DataInputStream(fstream); 
       BufferedReader br = new BufferedReader(new InputStreamReader(in)); 

       //Read File Line By Line 

       while ((br.readLine()) != null) { 
        // Print the content on the console 
         strLine = strLine + br.readLine(); 

       } 
       this.parse(strLine); 
       //Close the input stream 

       in.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

       parse(strLine); 


       ListView contactLV = (ListView) findViewById(com.crumbin.main.R.id.user_contact_list); 

       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,com.main.R.layout.user_contact_list_item,com.main.R.id.contact_name,values); 
       contactLV.setAdapter(adapter); 




     } 

    public void parse(String jsonLine) { 
     JsonElement jelement = new JsonParser().parse(jsonLine); 
     JsonObject jobject = jelement.getAsJsonObject(); 


     JsonArray jarray = jobject.getAsJsonArray("contact"); 

     jobject = jarray.get(0).getAsJsonObject(); 


     values[0]= jobject.get("user").toString(); 

    } 


} 

我試過file.CanRead()和file.exist()兩者返回False。該文件存在。此外,該文件不被任何其他進程讀取。的Java FileNotFoundException異常,雖然該文件存在。

+0

究竟做了logcat的說錯誤是 –

+2

你設置了所有權限嗎?通常你不想將文件保存到/ home文件夾中。省錢,而無論是進入/數據/數據/ /文件或成/ SD卡/ http://developer.android.com/guide/topics/data/data-storage.html#AccessingExtFiles –

+0

錯誤的情況吧? – dacwe

回答

3

如果canRead不工作,該文件確實存在,這意味着有一個權限問題。

+0

同意這一點..這可能是路徑另一件事是不正確的..但它看起來奇怪地看到,如Android的世界路徑:) –

2

如果的CanRead()和存在()返回即使該文件確實存在,那麼就意味着應用程序不具有對文件/文件夾的讀取權限假...

相關問題