Java指定行读写数据

    /**
     * 根据指定行写数据
     *
     * @param lineNumber 要存的行数
     * @param data       要存储的数据
     */
    public static void setAppointedLineNumber(int lineNumber, String data) throws IOException {
        Path path = Paths.get(configuration);
        List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
        lines.set(lineNumber - 1, data);
        Files.write(path, lines, StandardCharsets.UTF_8);
    }

    /**
     * 1.根据指定行读数据
     *
     * @param lineNumber
     */
    public static String readAppointedLineNumber(int lineNumber) {
        String appointedLine = "";
        FileReader in = null;
        LineNumberReader reader = null;
        try {
            in = new FileReader(configuration);
            reader = new LineNumberReader(in);
            long totalLine = Files.lines(Paths.get(configuration)).count();
            if (lineNumber < 0 || lineNumber > totalLine) {
                throw new Exception("指定行【" + lineNumber + "】不在文件行数范围内");
            }
            int line = 1;
            reader.setLineNumber(lineNumber);
            long i = reader.getLineNumber();
            String s = "";
            while ((s = reader.readLine()) != null) {
                if (i == line) {
                    appointedLine = s;
                    break;
                }
                line++;
            }
            return appointedLine;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            closeResource(in, reader);
        }
        return appointedLine;
    }

    /**
     * 2.关闭资源
     *
     * @param in
     * @param reader
     */
    public static void closeResource(FileReader in, LineNumberReader reader) {
        try {
            if (reader != null) {
                reader.close();
            }
            if (in != null) {
                in.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java opc ua 读写是指使用Java编程语言通过opc ua协议进读取和写入数据的过程。opc ua是一种通用的工业自动化协议,可以用于在不同设备或系统之间进数据交换。 在Java中,可以使用opc ua的Java SDK来实现opc ua的读写功能。首先,需要在Java代码中导入opc ua的相关库和类,以便进opc ua操作。 要进读取操作,首先需要创建一个opc ua客户端对象,然后连接到opc ua服务器。连接成功后,可以通过opc ua客户端的方法来读取特定的数据点的值。可以根据数据点的标识符或节点路径来指定要读取的数据点。读取操作将返回指定数据点的值,可以将其存储在变量中以供进一步处理。 要进行写入操作,也需要创建一个opc ua客户端对象并连接到opc ua服务器。连接成功后,可以使用opc ua客户端的方法来写入特定的数据点的值。可以根据数据点的标识符或节点路径来指定要写入的数据点。写入操作需要提供要写入的值,并将其传递给opc ua客户端的写入方法。 在进读写操作之前,还需要确保opc ua服务器允许客户端进读写操作。一般来说,opc ua服务器会进相应的配置和权限设置,以限制客户端的访问权限。 总结起来,Java opc ua读写是使用Java编程语言通过opc ua协议来实现数据的读取和写入。通过创建opc ua客户端、连接到opc ua服务器,然后使用相应的读取和写入方法,可以实现对特定数据点的读取和写入操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值