正确的资产android文件路径

时间:2015-04-14 06:16:42

标签: android file assets

我试图访问我的资源文件夹的文件路径但由于某种原因,我无法访问它并且它会创建一个错误(无法启动活动ComponentInfo,主机名可能不为null) 。这应该是什么正确的语法?

这是我的代码:

 String xml = parser.getXmlFromUrl("file:///android_assets/music.xml"); 

这是我的文件位置:enter image description here

我做得好吗?或者我的语法不正确?

4 个答案:

答案 0 :(得分:0)

试试这个,打开该文件的输入流。

InputStreamReader is= new InputStreamReader(
                context.getAssets().open("abc.xml"));

然后打开然后

    int length = is.available();
    byte[] data = new byte[length];
    is.read(data);
  String xmlString = new String(data);

希望它会有所帮助

答案 1 :(得分:0)

也许

AssetManager assetManager = getAssets();
InputStream input = assetManager.open(fileName);

读完文件后?

答案 2 :(得分:0)

尝试使用filedescriptor作为

 AssetFileDescriptor descriptor = getAssets().openFd("myfile.txt");
 FileReader reader = new FileReader(descriptor.getFileDescriptor());

答案 3 :(得分:0)

请使用此代码,文本文件的工作代码以及xml文件。

public String readFromAssetsFolder(String fileName) {
        String  readValue = "";
        InputStream fileInputStream = null;
        InputStreamReader inputStreamReader = null;
        BufferedReader input = null;
        try {
            fileInputStream = getResources().getAssets()
                    .open(fileName, Context.MODE_WORLD_READABLE);
            inputStreamReader = new InputStreamReader(fileInputStream);
            input = new BufferedReader(inputStreamReader);
            String line = "";
            while ((line = input.readLine()) != null) {
                readValue = readValue+ line;
            }
        } catch (Exception e) {
            e.getMessage();
        } finally {
            try {
                if (inputStreamReader != null)
                    inputStreamReader.close();
                if (fileInputStream != null)
                    fileInputStream.close();
                if (input != null)
                    input.close();
            } catch (Exception e2) {
                e2.getMessage();
            }
        }
        return readValue;
    }