java 读取本地文件实例详解

用javax.xml、w3c解析

实例代码:

package cn.com.xinli.monitor.utils;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import java.io.File;

/**

* Created by jiyy on 2017/4/6.

*/

public class ReadXmlTest {

public static void main(String[] args){

Element element = null;

// 可以使用绝对路劲

File f = new File("D:/workspace-idea/monitor-service/src/main/resources/logMonitor.xml");

// documentBuilder为抽象不能直接实例化(将XML文件转换为DOM文件)

DocumentBuilder db = null;

DocumentBuilderFactory dbf = null;

try {

// 返回documentBuilderFactory对象

dbf = DocumentBuilderFactory.newInstance();

// 返回db对象用documentBuilderFatory对象获得返回documentBuildr对象

db = dbf.newDocumentBuilder();

// 得到一个DOM并返回给document对象

Document dt = db.parse(f);

// 得到一个elment根元素

element = dt.getDocumentElement();

// 获得根节点

System.out.println("根元素:" + element.getNodeName());

}catch (Exception e ){

e.printStackTrace();

}

}

}

用dom4j解析

package cn.com.xinli.monitor.test;

import org.apache.commons.io.IOUtils;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.DocumentHelper;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.net.URISyntaxException;

/**

* Created by jiyy on 2017/4/6.

*/

public class ReadFileTest {

public static void main(String[] args){

//方法一:本地绝对路径获取xml文件内容,项目外的路径

String fileUrl = "/D:/workspace-idea/monitor-service/src/main/resources/logMonitor.xml";

InputStream fis = null;

try {

fis = new FileInputStream(new File(fileUrl));

String content = IOUtils.toString(fis,"UTF-8");

Document document = DocumentHelper.parseText(content);

} catch (java.io.IOException e) {

e.printStackTrace();

} catch (DocumentException e) {

e.printStackTrace();

}

//方法二:项目绝对路径是在本class文件所在项目的根目录下找,也就是classes/下

try {

String content2 = IOUtils.toString(ReadFileTest.class.getResourceAsStream("/logMonitor.xml"), "UTF-8");

Document document2 = DocumentHelper.parseText(content2);

} catch (IOException e) {

e.printStackTrace();

}catch (DocumentException e) {

e.printStackTrace();

}

//方法三:相对目录,在本ReadFileTest编译后的.class文件同级目录

try {

String content3 = IOUtils.toString(ReadFileTest.class.getResourceAsStream("logMonitor.xml"), "UTF-8");

Document document3 = DocumentHelper.parseText(content3);

} catch (IOException e) {

e.printStackTrace();

}catch (DocumentException e) {

e.printStackTrace();

}

//方法四:相对目录,在本ReadFileTest编译后的.class文件上级目录的config目录下

try {

String content4 = IOUtils.toString(ReadFileTest.class.getResourceAsStream("../config/logMonitor.xml"), "UTF-8");

Document document4 = DocumentHelper.parseText(content4);

} catch (IOException e) {

e.printStackTrace();

}catch (DocumentException e) {

e.printStackTrace();

}

//方法五:动态获取相对目录

try {

String xmlPath = "logMonitor.xml";

//获取当前类加载的根目录,如:/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/

String path = ReadFileTest.class.getClassLoader().getResource("").toURI().getPath();

// 把文件读入文件输入流,存入内存中

FileInputStream in = new FileInputStream(new File(path + xmlPath));

String content5 = IOUtils.toString(in,"UTF-8");

Document document5 = DocumentHelper.parseText(content5);

} catch (IOException e) {

e.printStackTrace();

} catch (DocumentException e) {

e.printStackTrace();

}catch (URISyntaxException e) {

e.printStackTrace();

}

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

java读取本地文件_java 读取本地文件实例详解相关推荐

  1. java语言数据库编程_JAVA语言数据库编程实例详解

    本文主要向大家介绍了JAVA语言数据库编程实例详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. DOS命令登录MySQL数据库:mysql -h 127.0.0.1 -u root ...

  2. java list 移除_java 中List删除实例详解

    java 中List删除实例详解 1.循环删除List中的元素 public static void main(String[] args) { List t=new ArrayList(); for ...

  3. java类多例_Java多例设计模式实例详解

    本文实例讲述了Java多例设计模式.分享给大家供大家参考,具体如下: 一.多例设计模式定义 多例设计模式就是存在多个对象实例,供外部应用裯用,比喻数据库连接池. 二.多例模式静态类图 三.多例模式代码 ...

  4. java 输入流可以合并吗_Java 使用IO流实现大文件的分割与合并实例详解

    java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时 ...

  5. java文件流 m.jb51.net_FasfDFS整合Java实现文件上传下载功能实例详解

    今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 org.c ...

  6. java 获取用户的MAC地址多种方法实例详解

    java 获取用户的MAC地址多种方法实例详解 这篇文章主要介绍了JAVA实现获取用户的MAC地址的多种方法实例,需要的朋友可以参考下 java实现获取用户的MAC地址方法: 方法一:将本机地址与局域 ...

  7. file java详解_Java中File的实例详解

    Java中File的实例详解 File 代表文件或者目录的类 构造函数 File(File parent,String child)---代表了指定父目录下的指定的子文件或者子目录 File(Stri ...

  8. java做jsp问题_java/jsp中 中文问题详解

    java/jsp中 中文问题详解 更新时间:2006年10月13日 00:00:00   作者: 预备知识: 1.字节和unicode Java内核是unicode的,就连class文件也是,但是很多 ...

  9. java中匿名内部类详解_java 中匿名内部类的实例详解

    搜索热词 java 中匿名内部类的实例详解 原来的面貌: class TT extends Test{ void show() { System.out.println(s+"~~~哈哈&q ...

  10. java linkedlist实例_Java Linkedlist原理及实例详解

    这篇文章主要介绍了Java Linkedlist原理及实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 定义:linkedlist属于链表结构 ...

最新文章

  1. BCH领头,主流币全数突破压力线
  2. SpringMVC+JWT+Swagger UI+RestFul
  3. Dropout的前世与今生
  4. 【坚持】Selenium+Python学习记录 DAY10
  5. python numpy.random模块中提供啦大量的随机数相关的函数
  6. 牛刀小试、用SharePoint 实现请假管理功能
  7. CSS之Box-sizing
  8. 专业课程设计之客户与服务器程序的同步与通信机制的设计(二)TCP通信
  9. 【MyBatis笔记】13-一对多左连接查询分步查询(查询所有客户及客户对应的订单)
  10. catch(…) vs catch(CException *)?
  11. PL/pgSQL的RETURN QUERY例子
  12. httprequest存储的是字符内容 而文本内容是以字节形式上传的;所以普通的取值方式无法从httprequest取到值...
  13. linux自动加密软件开发,【天锐绿盾加密软件支持Linux_信息安全管理系统_文件自动加密_文档加密_图纸加密_网络实时监控_网络行为管理_内网安全的软件系统】免费在线试用_文档管理_选软件网...
  14. oracle中分析函数range值范围,Oracle实战4(分析函数)
  15. udhcpc6的default.script
  16. Java线程状态以及 sheep()、wait()、yield() 的区别
  17. 中水是什么?有什么用途呢?
  18. 推荐一个网站地图生成工具
  19. < pre >标签 定义预格式化的文本
  20. 在线一键重装Win11系统步骤

热门文章

  1. AD5933使用外部时钟获得更低的分析频率
  2. R 回归 虚拟变量na_工具amp;方法 | R语言机器学习包大全(共45个包)
  3. name选择器_这33个超级好用的CSS选择器,你可能见都没见过
  4. pdf压缩工具_PDF文件过大如何缩小,几步教你完成压缩
  5. java6.2免费下载_jasperreports(Java开源报表系统)
  6. linux排除多个文件,linux – 通过排除其父文件夹为多个目录创建单个tar文件
  7. mx3 android 5.1,魅族MX3揭晓:猎户座处理器5.1寸屏幕
  8. 网页右边固定php,左侧固定,右侧自适应的布局方式
  9. matlab GUI figure置右上角
  10. Spartan-6的时钟资源、全局时钟缓冲器/多路复用器