Как я могу прочитать .txt и отобразить его как TextView в Android? - PullRequest
1 голос
/ 02 января 2012

Я использую приведенный ниже код для чтения txt-файлов с моей SD-карты, но как я могу отобразить его как текстовое представление?

try{

               File f = new File(Environment.getExternalStorageDirectory()+"/filename.txt");
               FileInputStream fileIS = new FileInputStream(f);
               BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));
               String readString = new String();
               //just reading each line and pass it on the debugger  
               while((readString = buf.readLine())!= null){
                  Log.d("line: ", readString);

               }

            } catch (FileNotFoundException e) {

               e.printStackTrace();

            } catch (IOException e){

               e.printStackTrace();

            }

Ответы [ 4 ]

2 голосов
/ 02 января 2012

Это должно сделать это:

public void displayOutput()
{
    File sdcard = Environment.getExternalStorageDirectory();
    File file = new File(sdcard,"/TextFile.txt");
    StringBuilder text = new StringBuilder();
    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;
        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
        }
    }
    catch (IOException e) {
        Toast.makeText(getApplicationContext(),"Error reading file!",Toast.LENGTH_LONG).show();
        e.printStackTrace();
    } 
    catch (FileNotFoundException e) {
        Toast.makeText(getApplicationContext(),"File not found!",Toast.LENGTH_LONG).show();
        e.printStackTrace();
    }
    TextView output=(TextView) findViewById(R.id.output); 
    // Assuming that 'output' is the id of your TextView
    output.setText(text);
}
0 голосов
/ 04 января 2012

открытый класс ReadFileActivity extends Activity {

/ ** Вызывается при первом создании действия.* /

TextView text;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    text=(TextView)findViewById(R.id.textview);
    text.setText(readTxt());
}
private String readTxt(){

    InputStream inputStream = getResources().openRawResource(R.raw.aaa);

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

    int i;
 try {
  i = inputStream.read();
  while (i != -1)
     {
      byteArrayOutputStream.write(i);
      i = inputStream.read();
     }
     inputStream.close();
 } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }

    return byteArrayOutputStream.toString();
   }

}

0 голосов
/ 02 января 2012
   public String readText(){
           //this is your text
           StringBuilder text = new StringBuilder();
       try{

           File f = new File(Environment.getExternalStorageDirectory()+"/filename.txt");
           FileInputStream fileIS = new FileInputStream(f);
           BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));

           String readString = "";
           //just reading each line and pass it on the debugger  
           while((readString = buf.readLine())!= null){
              Log.d("line: ", readString);
              text.append(readString + "\n");

           }

        } catch (FileNotFoundException e) {

           e.printStackTrace();

        } catch (IOException e){

           e.printStackTrace();

        }
          return text.toString();
     }

     ...

        TextView tv=findViewById(.....);
        tv.setText(readText());
0 голосов
/ 02 января 2012
LinearLayout myVerticalLinearLayout = (LinearLayout) findViewById(R.id.myLinearLayout);
TextView text = new TextView(getApplicationContext());
text.setText(readString);
myVerticalLinearLayout.addView(text); 

Это должно добавить вертикальные текстовые представления в линейный макет, который вы должны были создать раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...