我试图访问我的资源文件夹的文件路径但由于某种原因,我无法访问它并且它会创建一个错误(无法启动活动ComponentInfo,主机名可能不为null) 。这应该是什么正确的语法?
这是我的代码:
String xml = parser.getXmlFromUrl("file:///android_assets/music.xml");
这是我的文件位置:
我做得好吗?或者我的语法不正确?
答案 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;
}