使用java NIO及高速缓冲区写入文件过程解析

 更新时间:2019年09月05日 10:41:47   作者:你不知道的浪漫  
这篇文章主要介绍了使用java NIO及高速缓冲区写入文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了使用java NIO及高速缓冲区写入文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码如下

byte[] bytes = Files.readAllBytes(Paths.get("E:\\pdf\\aaa\\html\\text.txt").normalize());
    String text = IOUtils.toString(bytes);
    String xml = text.substring(text.indexOf("<tbody>"));
    InputSource inputXML = new InputSource( new StringReader( xml ) );
    XPath xPath = XPathFactory.newInstance().newXPath();
    NodeList nodes = (NodeList) xPath.evaluate("/tbody/tr", inputXML, XPathConstants.NODESET);
    int length = nodes.getLength();
    Path file = Paths.get("E:\\pdf\\aaa\\html\\out.txt");
    try (BufferedWriter writer = Files.newBufferedWriter(file, Charset.defaultCharset(), StandardOpenOption.CREATE)) {
      for (int i = 0; i < length; i++) {
        Node node = nodes.item(i);
        NodeList childList = (NodeList) xPath.evaluate("td", node, XPathConstants.NODESET);
        for (int j = 0; j < childList.getLength(); j++) {
          Node child = childList.item(j);
          String content = child.getTextContent();
          //System.out.print(content);
          writer.write(content);
          if (j <childList.getLength() - 1) {
            writer.write("\t");
          }
        }
        writer.newLine();
      }
    }

text.txt内容

输出内容:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • spring拓展之如何定义自己的namespace

    spring拓展之如何定义自己的namespace

    这篇文章主要介绍了spring拓展之如何定义自己的namespace方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • mybatis-plus配置日志两种实现方式

    mybatis-plus配置日志两种实现方式

    这篇文章主要给大家介绍了关于mybatis-plus配置日志两种实现方式的相关资料,Mybatis-plus集成了日志框架,可以将程序运行时产生的日志进行记录,方便开发人员进行问题排查,需要的朋友可以参考下
    2023-09-09
  • MyBatis使用Zookeeper保存数据库的配置可动态刷新的实现代码

    MyBatis使用Zookeeper保存数据库的配置可动态刷新的实现代码

    这篇文章主要介绍了MyBatis使用Zookeeper保存数据库的配置,可动态刷新,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • mysql数据库忘记密码时如何修改

    mysql数据库忘记密码时如何修改

    本文主要介绍了mysql数据库忘记密码时如何修改的步骤方法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Spring整合MyBatis(Maven+MySQL)图文教程详解

    Spring整合MyBatis(Maven+MySQL)图文教程详解

    这篇文章主要介绍了Spring整合MyBatis(Maven+MySQL)图文教程详解的相关资料,需要的朋友可以参考下
    2016-07-07
  • 教你用Java Swing做一个定时提醒工具

    教你用Java Swing做一个定时提醒工具

    今天给大家带来的是Java的相关知识,文章围绕着如何用Java做一个定时提醒工具展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Java中的ThreadLocal详解

    Java中的ThreadLocal详解

    THreadLocalMap中的Entry的key使用的是ThreadLocal对象的弱引用,在没有其他地方对ThreadLoca依赖,ThreadLocalMap中的ThreadLocal对象就会被回收掉,但是对应的不会被回收,具体内容请和小编一起看下面文章详情
    2021-09-09
  • Java垃圾回收finalize()作用详解

    Java垃圾回收finalize()作用详解

    这篇文章主要为大家详细介绍了Java垃圾回收finalize()作用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-09-09
  • 使用自定义注解实现加解密及脱敏方式

    使用自定义注解实现加解密及脱敏方式

    这篇文章主要介绍了使用自定义注解实现加解密及脱敏方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 浅谈Java中的final关键字与C#中的const, readonly关键字

    浅谈Java中的final关键字与C#中的const, readonly关键字

    下面小编就为大家带来一篇浅谈Java中的final关键字与C#中的const, readonly关键字。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10

最新评论