Wie kann ich eine Textdatei in Android lesen?

Lesezeit: 4 Minuten

Wie kann ich eine Textdatei in Android lesen
Benutzer1635224

Ich möchte den Text aus einer Textdatei lesen. Im folgenden Code tritt eine Ausnahme auf (d. h. er geht an die catch Block). Ich habe die Textdatei in den Anwendungsordner gelegt. Wo muss ich diese Textdatei (mani.txt) ablegen, um sie richtig lesen zu können?

    try
    {
        InputStream instream = openFileInput("E:\\test\\src\\com\\test\\mani.txt"); 
        if (instream != null)
        {
            InputStreamReader inputreader = new InputStreamReader(instream); 
            BufferedReader buffreader = new BufferedReader(inputreader); 
            String line,line1 = "";
            try
            {
                while ((line = buffreader.readLine()) != null)
                    line1+=line;
            }catch (Exception e) 
            {
                e.printStackTrace();
            }
         }
    }
    catch (Exception e) 
    {
        String error="";
        error=e.getMessage();
    }

  • Was hoffen Sie, dass Ihr Emulator ein Teil Ihres S/M ist? “E:\\test\\src\\com\\test\\mani.txt”

    – Athul Harikumar

    14. September 2012 um 9:39 Uhr

  • Von welchem ​​Ort aus möchten Sie eine Textdatei lesen … ?

    – Sandip Armal Patil

    14. September 2012 um 9:42 Uhr

  • InputStream iS = resources.getAssets().open(fileName); (wenn Sie die Datei in Assets ablegen)

    – Athul Harikumar

    14. September 2012 um 9:42 Uhr

  • @Sandip tatsächlich habe ich die Textdatei (mani.txt) kopiert und in den Ordner der Android-Anwendung gelegt (Ordner mit .settings , bin,libs,src,assets,gen,res,androidmanifeast.xml)

    – Benutzer1635224

    14. September 2012 um 9:50 Uhr

  • oder legen Sie einfach den Ordner res/raw ein und überprüfen Sie meine aktualisierte Antwort.

    – Sandip Armal Patil

    14. September 2012 um 9:55 Uhr

Wie kann ich eine Textdatei in Android lesen
Shruti

Versuche dies :

Ich nehme an, Ihre Textdatei befindet sich auf der SD-Karte

    //Find the directory for the SD Card using the API
//*Don't* hardcode "/sdcard"
File sdcard = Environment.getExternalStorageDirectory();

//Get the text file
File file = new File(sdcard,"file.txt");

//Read text from file
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');
    }
    br.close();
}
catch (IOException e) {
    //You'll need to add proper error handling here
}

//Find the view by its id
TextView tv = (TextView)findViewById(R.id.text_view);

//Set the text
tv.setText(text.toString());

Folgende Links können dir auch weiterhelfen:

Wie kann ich eine Textdatei von der SD-Karte in Android lesen?

Wie liest man eine Textdatei in Android?

Android-Text-Rohressourcendatei lesen

  • Ihr Link wäre mir dabei behilflich

    – Benutzer1635224

    14. September 2012 um 9:59 Uhr


  • Der BufferedReader muss am Ende geschlossen werden!

    – RainClick

    1. Dezember 2013 um 5:34 Uhr

  • Wenn Sie eine leere Zeile in Ihrem TXT-Dokument haben, funktioniert dieser Parser nicht mehr! Die Lösung besteht darin, diese leeren Zeilen zuzugeben: while ((line = br.readLine()) != null) { if(line.length() > 0) { //do your stuff } }

    – Choletski

    23. Oktober 2015 um 8:03 Uhr


  • @Shruti wie man die Datei auf die SD-Karte hinzufügt

    – Tharindu Dhanushka

    1. März 2016 um 7:25 Uhr

  • @Choletski, warum sagst du, dass es nicht mehr funktioniert? Wenn eine Leerzeile vorhanden ist, wird die Leerzeile an den Text StringBuilder angehängt. Was ist das Problem?

    – LarsH

    19. April 2016 um 21:29 Uhr

1646266028 459 Wie kann ich eine Textdatei in Android lesen
Sandip Armal Patil

Wenn Sie Dateien von der SD-Karte lesen möchten. Dann könnte folgender Code für Sie hilfreich sein.

 StringBuilder text = new StringBuilder();
    try {
    File sdcard = Environment.getExternalStorageDirectory();
    File file = new File(sdcard,"testFile.txt");

        BufferedReader br = new BufferedReader(new FileReader(file));  
        String line;   
        while ((line = br.readLine()) != null) {
                    text.append(line);
                    Log.i("Test", "text : "+text+" : end");
                    text.append('\n');
                    } }
    catch (IOException e) {
        e.printStackTrace();                    

    }
    finally{
            br.close();
    }       
    TextView tv = (TextView)findViewById(R.id.amount);  

    tv.setText(text.toString()); ////Set the text to text view.
  }

    }

Wenn Sie dann eine Datei aus dem Asset-Ordner lesen möchten

AssetManager am = context.getAssets();
InputStream is = am.open("test.txt");

Oder wenn Sie diese Datei lesen möchten res/raw Ordner, in dem die Datei indiziert wird und über eine ID in der R-Datei zugänglich ist:

InputStream is = getResources().openRawResource(R.raw.test);     

Gutes Beispiel für das Lesen einer Textdatei aus dem res/raw-Ordner

  • br ist im finally-Block außerhalb des Gültigkeitsbereichs.

    – AlgoRythm

    18. Juni 2018 um 21:52 Uhr

1646266029 857 Wie kann ich eine Textdatei in Android lesen
Priyank Patel

Legen Sie Ihre Textdatei ein Anlagegut Ordner … & Datei aus diesem Ordner lesen …

siehe unten Referenzlinks…

http://www.technotalkative.com/android-read-file-from-assets/

http://sree.cc/google/reading-text-file-from-assets-folder-in-android

Lesen einer einfachen Textdatei

hoffe es hilft…

Wie kann ich eine Textdatei in Android lesen
HuynhHan

Versuchen Sie diesen Code

public static String pathRoot = "/sdcard/system/temp/";
public static String readFromFile(Context contect, String nameFile) {
    String aBuffer = "";
    try {
        File myFile = new File(pathRoot + nameFile);
        FileInputStream fIn = new FileInputStream(myFile);
        BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn));
        String aDataRow = "";
        while ((aDataRow = myReader.readLine()) != null) {
            aBuffer += aDataRow;
        }
        myReader.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return aBuffer;
}

1646266030 214 Wie kann ich eine Textdatei in Android lesen
RAM

Zuerst speichern Sie Ihre Textdatei im Raw-Ordner.

private void loadWords() throws IOException {
    Log.d(TAG, "Loading words...");
    final Resources resources = mHelperContext.getResources();
    InputStream inputStream = resources.openRawResource(R.raw.definitions);
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

    try {
        String line;
        while ((line = reader.readLine()) != null) {
            String[] strings = TextUtils.split(line, "-");
            if (strings.length < 2)
                continue;
            long id = addWord(strings[0].trim(), strings[1].trim());
            if (id < 0) {
                Log.e(TAG, "unable to add word: " + strings[0].trim());
            }
        }
    } finally {
        reader.close();
    }
    Log.d(TAG, "DONE loading words.");
}

1646266030 406 Wie kann ich eine Textdatei in Android lesen
Muhammad Usman Ghani

Versuche dies

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);
  }

1646266031 919 Wie kann ich eine Textdatei in Android lesen
Eneko

Kürzeste Form für kleine Textdateien (in Kotlin):

val reader = FileReader(path)
val txt = reader.readText()
reader.close()

917550cookie-checkWie kann ich eine Textdatei in Android lesen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy