java 读取本地文件实例详解

发布时间 - 2026-01-11 00:57:45    点击率:

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 解决读写本地文件中文乱码的问题  # java断点续传功能实例(java获取远程文件)  # java获取本地文件和远程文件的方式代码示例  # 是在  # 希望能  # 可以使用  # 谢谢大家  # 转换为  # 加载  # 目录下  # element  # strong  # null  # workspace  # idea  # static  # ReadXmlTest  # public  # void  # args  # String  # main  # service 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel定时任务怎么设置_Laravel Crontab调度器配置  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  教学论文网站制作软件有哪些,写论文用什么软件 ?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  大学网站设计制作软件有哪些,如何将网站制作成自己app?  QQ浏览器网页版登录入口 个人中心在线进入  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何实现API版本控制_Laravel版本化API设计方案  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  JavaScript模板引擎Template.js使用详解  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Java垃圾回收器的方法和原理总结  三星网站视频制作教程下载,三星w23网页如何全屏?  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何注册花生壳免费域名并搭建个人网站?  Linux系统运维自动化项目教程_Ansible批量管理实战  如何利用DOS批处理实现定时关机操作详解  JS去除重复并统计数量的实现方法  使用豆包 AI 辅助进行简单网页 HTML 结构设计  用yum安装MySQLdb模块的步骤方法  如何续费美橙建站之星域名及服务?  在Oracle关闭情况下如何修改spfile的参数  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  如何用PHP工具快速搭建高效网站?  java获取注册ip实例  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  音响网站制作视频教程,隆霸音响官方网站?  详解Huffman编码算法之Java实现  googleplay官方入口在哪里_Google Play官方商店快速入口指南  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何在阿里云域名上完成建站全流程?  利用vue写todolist单页应用  C++用Dijkstra(迪杰斯特拉)算法求最短路径  佛山企业网站制作公司有哪些,沟通100网上服务官网?  详解Oracle修改字段类型方法总结  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  python中快速进行多个字符替换的方法小结