2012-01-26 8 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. сохранить либо в/data/data//files, либо в/sdcard/http://developer.android.com/guide/topics/data/data-storage.html#AccessingExtFiles –

+0

Неверный вопрос, возможно? – dacwe

ответ

3

Если canRead не работает, и файл действительно существует, значит, существует проблема с разрешением.

+0

согласны с тем, что .. другая вещь, которая может быть, путь неправильный .., но выглядит странно видеть, например, путь в мире Android :) –

2

Если CanRead() и существует() возвращают ложь, даже если файл на самом деле существует, то это означает, что приложение не имеет права на чтение этого файла/папки ...

Смежные вопросы