-3

I am writing an android app where I am trying to read from a data base that I added in assets folder in main folder. But I am get an error file not found exception

public File database = new File("/assets/GeoIP2.mmdb");


PS : It's a database file not a text file.

Ashwin
  • 12,691
  • 31
  • 118
  • 190

4 Answers4

0

This is the proper way to read files from assets folder

AssetManager am = context.getAssets();
InputStream is = am.open("GeoIP2.mmdb");
Ajay Venugopal
  • 1,544
  • 1
  • 17
  • 30
0

you can try this below code its working 100%

private String readFromFile(String name) {

    String ret = "";

    try {
        InputStream inputStream = getAssets().open(name + ".txt");

        if (inputStream != null) {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String receiveString = "";
            StringBuilder stringBuilder = new StringBuilder();

            while ((receiveString = bufferedReader.readLine()) != null) {
                stringBuilder.append(receiveString);
                stringBuilder.append("\n");
            }

            inputStream.close();
            ret = stringBuilder.toString();
        }
    } catch (FileNotFoundException e) {
        Log.e(TAG, "File not found: " + e.toString());
    } catch (IOException e) {
        Log.e(TAG, "Can not read file: " + e.toString());
    }

    return ret;
}

just change the format of your file instead of .txt

Nikhil Sharma
  • 593
  • 7
  • 23
0

InputStream is = getAssets().open("thirukkuralxml.xml");

-1
 try{
            String verify, putData;
            File file = new File("file.txt");
            file.createNewFile();
            FileWriter fw = new FileWriter(file);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write("Some text here for a reason");
            bw.flush();
            bw.close();
            FileReader fr = new FileReader(file);
            BufferedReader br = new BufferedReader(fr);

            while( (verify=br.readLine()) != null ){ //***editted
                       //**deleted**verify = br.readLine();**
                if(verify != null){ //***edited
                    putData = verify.replaceAll("here", "there");
                    bw.write(putData);
                }
            }
            br.close();


        }catch(IOException e){
        e.printStackTrace();
        }