1.java文件讀取properties文件
Properties props = new Properties(); try { //資源文件存放在類文件的根目錄下。即是放在src下面。則不需要寫路 //徑,此時是放在file文件夾下 props.load(getClass().getClassLoader().getResourceAsStream( "file/user.properties")); //當資源文件中有中文的時候可以采用下面的編碼轉化方法來讀取。 //然后直接讀取props.getProperty("name"); System.out.println(new String(props.getProperty("name").getBytes( "ISO-8859-1"), "GBK")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
2.java讀取xml文件
try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder db = factory.newDocumentBuilder(); Document doc = db.parse(new File("d://asp-search-config.xml")); Element elmtInfo = doc.getDocumentElement(); NodeList nodes = elmtInfo.getChildNodes(); int m = 1; System.out.println(nodes.getLength()); for (int i = 0; i < nodes.getLength(); i++) { Node result = nodes.item(i); System.out.println(result.getNodeType()+"----"+result.getNodeName()); if (result.getNodeType() == Node.ELEMENT_NODE && result.getNodeName().equals("index-file")) { NodeList ns = result.getChildNodes(); for (int j = 0; j < ns.getLength(); j++) { Node record = ns.item(j); System.out.println(record.getNodeType()+"@@@@"+record.getNodeName()); if (record.getNodeType() == Node.ELEMENT_NODE && record.getNodeName().equals("path")) { System.out.println(m + ": " + record.getTextContent()); m++; } } } } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
第二種方法:
// 使用了dom4j解析xml // 讀取目錄下用來測試的*.xml文件,取得xml主內容 SAXReader saxReader = new SAXReader(); Document document = saxReader.read("d://asp-search-config.xml").getDocument(); int i = 1; // 遍歷文檔根節點(wuxialist)下的子節點列表,即txtbook節點的集合
//document.getRootElement()獲取根節點asp-search-config
for(Element txtbook : (List<Element>)document.getRootElement().elements()){ //取得txtbook節點下的name節點的內容 System.out.println(i+"."+txtbook.element("path").getText()); }
3.運用spring讀取xml文件
1.利用ClassPathXmlApplicationContext ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml"); //這種用法不夠靈活,不建議使用。 HelloBean helloBean = (HelloBean)context.getBean("helloBean"); System.out.println(helloBean.getHelloWorld()); 2.利用FileSystemResource讀取 Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml"); BeanFactory factory = new XmlBeanFactory(rs); HelloBean helloBean = (HelloBean)factory.getBean("helloBean"); System.out.println(helloBean.getHelloWorld()); 值得注意的是:利用FileSystemResource,則配置文件必須放在project直接目錄下,或者寫明絕對路徑,否則就會拋出找不到文件的異常。
4.運用spring讀取properties文件
我們還利用上面的HelloBean.java文件,構造如下beanConfig.properties文件: helloBean.class=chb.demo.vo.HelloBean helloBean.helloWorld=Hello!chb! 屬性文件中的"helloBean"名稱即是Bean的別名設定,.class用於指定類來源。 然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader來讀取屬性文件 BeanDefinitionRegistry reg = new DefaultListableBeanFactory(); PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg); reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties")); BeanFactory factory = (BeanFactory)reg; HelloBean helloBean = (HelloBean)factory.getBean("helloBean"); System.out.println(helloBean.getHelloWorld());
5.判斷名字為name的cookie是否存在,存在則得到該cookie的值,不存在則創建出值為“程序員”的cookie
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); Cookie[] cookies = request.getCookies(); boolean flag = false ; if (cookies != null) { for (int i = 0; i < cookies.length; i++) { Cookie cookie = cookies[i]; if (cookie.getName().equals("name")) { out.print("<h2>exist , "+URLDecoder.decode(cookie.getValue(),"utf-8")+"</h2>"); flag = true ; break; } if (!flag) { Cookie cookieAdd = new Cookie("name", URLEncoder.encode("程序員","utf-8")); response.addCookie(cookieAdd); out.print("<h2>not exist , create successfully</h2>"); } } }else{ Cookie cookieAdd = new Cookie("name", URLEncoder.encode("程序員","utf-8")); response.addCookie(cookieAdd); out.print("<h2>no one exist,create successfully</h2>"); } out.close(); }