没有互联网,不会编程了;没有以前的代码,也不会写代码了。今天做个笔记。
文件基础
先提这个,是发现得到文件的路径方法很多,但是竟然不知道如何选择。因为接口太多了,可以是路径,也可以流,选择多了也挺痛苦。
1、得到文件的路径
String fileName= new XXX().getClass().getResource("/").getFile();
这个是得到根路径(绝对),对应编译后的classes。例如 /D:/eclipse/workspace/scf/build/classes/
getPath()和getFile()结果相同。
2、得到流
和1相似,InputStream is = new XXX().getClass().getResource("/abc.txt").openStream();
基本的思路相同就是通过运行环境中的对象,得到Class,然后得到环境相对应的资源。
dom4j API
1、从文件读取得到document
String fileName="D:/eclipse/workspace/scf/ccb-test-data/3FC008_request.xml";
File file = new File(fileName);
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(file); //读取XML文件,获得document对象
2、得到RootElment。
Element root = document.getRootElement();
3、遍历
Element head = root.element("head");
List nodes = head.elements("field");
for (Iterator it = nodes.iterator(); it.hasNext();) {
Element element = (Element) it.next();
System.out.print(element.attribute("name").getValue()+"=");
System.out.println( element.getText());
}
xx银行接口开发人员估计有洁癖,element都相同,通过name来区分,冗余信息比较多,查找一个节点比较困难,只能遍历了。