2013-01-09 85 views
0

我是android开发的新手。今天,我试图在我的应用程序中显示我所有的Java练习程序。我希望应用程序读取以.txt文件写入的数据。如何阅读Android中的.txt文件?

  1. 在哪个文件夹中应该存储我的所有程序?他们超过100个。
  2. 我想要显示程序2的内容,当我点击列表视图中的2或任何其他
  3. 我们可以将文本文件存储在数据库中吗?如果是这样,我如何访问它们?我如何阅读它们?
  4. 任何基本的想法我该如何解决这个问题?
+1

http://stackoverflow.com/questions/5771366/reading-a-simple-text-file –

回答

2

您可以将文本文件保存在raw/assets文件夹中。 要阅读他们只是使用此代码。 从资产:

BufferedReader reader = new BufferedReader(
       new InputStreamReader(getAssets().open("YourTextFile.txt"))); 

从原料:

InputStream inputStream = context.getResources().openRawResource(R.id.yourresoureid); 

      InputStreamReader inputreader = new InputStreamReader(inputStream) 

因为你是一个Java程序员没有必要告诉如何从InputStream中读取数据,如果你的话,还真想告诉我,我会后休息的代码。

将大量的数据保存在数据库中并不是一个好主意。

实例从InputStream中

读取数据
BufferedInputStream bis=new BufferedInputStream(inputstream); 
      ByteArrayBuffer baf=new ByteArrayBuffer(1000); 
      while((k=bis.read())!=-1) 
      { 
      baf.append((byte)k); 

      } 
      String results=new String(baf.toByteArray()); 
+0

其实我是c程序员。我只学过java的基础知识。如果剩下的代码在这里,它会帮助我理解这些事情。 – Vinay

+0

@ user1608714我已更新代码,请检查代码。 – Pragnani

1
  1. 开始的东西简单,工作到数据库选项。
  2. 是的,答案会很长,我认为SQLite的教程将是一个开始的地方。 2,1。尝试将您的文本文件放在资产文件夹中并像这样读取它们。该代码读取一个文件,并逐行将其转储到日志中。

    @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_read);

    AssetManager assetManager = getAssets(); 
    
    try { 
        BufferedReader br = new BufferedReader(new InputStreamReader( 
          assetManager.open("hi.txt"))); 
        // InputStream inputStream = assetManager.open("hi.txt"); 
        // BufferedReader br = new BufferedReader(
        // new InputStreamReader(inputStream)); 
    
        String lineIn; 
        while ((lineIn = br.readLine()) != null) { 
         Log.d("ReadTheDamnFile", lineIn); 
        } 
        assetManager.close(); 
    } catch (IOException e) { 
    
    } 
    

    }

0

试试这个它精细的做工:)

try 
    { 
      if(poslist==0) 
      { 
       in = this.getAssets().open("file1.txt"); 
       iv.setBackgroundResource(R.drawable.fileimage1); 

      } 
} 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
     try { 
     reader = new BufferedReader(new InputStreamReader(in,"UTF-8")); 
    } catch (UnsupportedEncodingException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
     String line=""; 
     String s =""; 
    try 
    { 
     line = reader.readLine(); 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
     while (line != null) 
     { 
     s = s + line; 
     s =s+"\n"; 
     try 
     { 
      line = reader.readLine(); 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 
    tv.setText(""+s); 
    } 

    public void onClick(View v){ 
     try { 
    line = reader.readLine(); 
    } catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 
     if (line != null){ 
      tv.setText(line); 
     } else { 
      //you may want to close the file now since there's nothing more to be done here. 
     }