Android 在尝试解析 documentBuilder 的路径时抛出 java.io.FileNotFoundException
Android throws java.io.FileNotFoundException when trying to parse path to documentBuilder
所以我正在尝试使用 google 地图的标记选项读取 xml 文件并将其解析为 Android Studio 中的数组:
try {
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Uri path = Uri.fromFile(new File("src/main/assets/local_markers.xml"));
Document document = documentBuilder.parse(path.toString());
//parsing
} catch (ParserConfigurationException ex) {
ex.printStackTrace(System.out);
} catch (SAXException ex) {
ex.printStackTrace(System.out);
} catch (IOException ex) {
ex.printStackTrace(System.out);
};
它抛出
java.io.FileNotFoundException: /src/main/assets/local_markers.xml (No such file or directory)
并且数组只填充了空字符串。
我尝试了很多将文件解析为 documentBuilder 的不同方法,但没有任何改变。文件路径是 100% 正确的,因为我使用 Android studio“复制路径”选项复制了它。
尝试使用 AssetManager :
AssetManager manager = getAssets();
InputStream stream;
try {
stream = manager.open("local_markers.xml");
Document document = parser.getDocument(stream);
} catch (ParserConfigurationException ex) {
ex.printStackTrace(System.out);
} catch (SAXException ex) {
ex.printStackTrace(System.out);
} catch (IOException ex) {
ex.printStackTrace(System.out);
};
所以我正在尝试使用 google 地图的标记选项读取 xml 文件并将其解析为 Android Studio 中的数组:
try {
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Uri path = Uri.fromFile(new File("src/main/assets/local_markers.xml"));
Document document = documentBuilder.parse(path.toString());
//parsing
} catch (ParserConfigurationException ex) {
ex.printStackTrace(System.out);
} catch (SAXException ex) {
ex.printStackTrace(System.out);
} catch (IOException ex) {
ex.printStackTrace(System.out);
};
它抛出
java.io.FileNotFoundException: /src/main/assets/local_markers.xml (No such file or directory)
并且数组只填充了空字符串。
我尝试了很多将文件解析为 documentBuilder 的不同方法,但没有任何改变。文件路径是 100% 正确的,因为我使用 Android studio“复制路径”选项复制了它。
尝试使用 AssetManager :
AssetManager manager = getAssets();
InputStream stream;
try {
stream = manager.open("local_markers.xml");
Document document = parser.getDocument(stream);
} catch (ParserConfigurationException ex) {
ex.printStackTrace(System.out);
} catch (SAXException ex) {
ex.printStackTrace(System.out);
} catch (IOException ex) {
ex.printStackTrace(System.out);
};