如何用JAVA NIO读取文件的指定内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用JAVA NIO读取文件的指定内容?相关的知识,希望对你有一定的参考价值。

我有个txt文件,开头是:
width=16;
depth=256;

我想用java读取这两个数据,然后存到变量里面。我查了很多java读文件的代码,似乎能完成这个功能的都是bufferreader之类的函数,但我想用NIO来实现,就是用文件通道,然后读入缓存的方法,请问可不可以用NIO来读我指定的内容,例如width=后面的那个数字呢?
NIO我不管了,那正则怎么写呢?比如我要提取"WIDTH="和分号“;”之间的数字。

Properties类我不懂,你能不能详细说一下呢?

为什么要用NIO?我理解的NIO是管道对管道的时候才用的。既然你的文件里面开头就是这个,为什么不自己读了,拿正则搞一下就出来了呀
补充------
package com.huawei.baidu;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTest
public static void main(String[] args)
String regex="(width=)(\\d+);";
String testString="width=123;";
Pattern reg = Pattern.compile(regex);
Matcher regexMatcher = reg.matcher(testString);
if(regexMatcher.find())

System.out.println(regexMatcher.group(2));



参考技术A 这种用=号分隔的属性名和值,最好是用Properties类来处理,很方便的。

如何用python读取json文件里指定的数据

JSON文件who.json内容如下:

"name": "mss",
"version": "1.0.0",
"description": "Policy issue system",
"main": "app.js",
"scripts":
"dev": "pm2 reload processes.json --env dev",
"test": "pm2 reload processes.json --env test",
"pro": "pm2 reload processes.json",
"start": "node app.js "
,
"keywords": [
"service",
"mss",
"microService"
],
"author": "who@163.com ",
"license": "Apache-2.0",
"dependencies":
"ab": "^2.0.0",
"ae": "^6.1.0",
"af": "^0.16.2",
"co-mysql": "^1.0.0",
"ca": "0.0.3",
"date-utils": "^1.2.21",
"exc": "^0.5.1",
"pgtool": "^7.8.1"



如果通过python读取这个json里"dependencies"里所包含的数据,并进行罗列,将数据转换成:"ab": "^2.0.0"转换成ab@^2.0.0这样的格式?
如有大神回答,请尽量详细,我是python初学者一个。

参考技术A import json

with open('who.json', 'r') as f:
    data = json.load(f)
    dependencies = data['dependencies']
    for k, v in dependencies.iteritems():
        print(f'k@v')

追问

大佬,请问如何对不同目录下的多个who.json进行读取呢?

追答

把所有目录名放到列表里,遍历列表重复上述操作。

本回答被提问者采纳

以上是关于如何用JAVA NIO读取文件的指定内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何用python读取文本中指定行的内容

如何用java读取excel文件

如何用python读取json文件里指定的数据

如何用java读取pdf文档的部分内容

如何用VBS逐行读取文本文件的内容,并输入变量

如何用java程序读取带密码(密码已知)的office文档。