一个通过命令行读取参数的例子

1.18 读取命令行参数 1.9 读取命令行参数 阅读详情

package ren;

import java.io.File;
import java.util.Scanner;

public class rename
{

 /**
  * @param args
  */
 public static void main(String... args)
 {
  Scanner scanner = new Scanner(System.in);
  String line = null;
  String[] paras = null;

  A tool = new A();
  System.out.println("Program's Started:");
  while (true)
  {
   line = scanner.nextLine().trim();
   if (line.equals("q") || line.equals("exit"))
   {
    break;
   }
   String r = tool.toParas(line);
   System.out.println(r);
   paras = r.split(", ",4);
   tool.ren(paras);
  }
 }

}

class A
{

 StringBuilder sbr;

 String toParas(String line)
 {
  if (sbr == null)
  {
   sbr = new StringBuilder();
  }
  String para = line.trim();
  String result = null;
  if (para.matches("[/"/'].*"))
  {
   int next = para.indexOf(para.charAt(0), 1);
   if (next == para.length() - 1)
   {
    result = sbr.append(para.substring(1, next)).toString();
    sbr = null;
    return result;
   }
   sbr.append(para.substring(1, next)).append(", ");
   return toParas(para.substring(next + 1));
  }
  String[] paras = para.split(" +", 2);
  if (paras.length == 1)
  {
   result = sbr.append(paras[0]).toString();
   sbr = null;
   return result;
  }
  sbr.append(paras[0]).append(", ");
  return toParas(paras[1]);
 }

 int statistic(String line)
 {
  return line.replaceAll("[^/"]", "").length();
 }

 /**
  *
  * @param path paras[0]
  * @param isReplaced paras[1]
  * @param replaceMent paras[2]
  * @param suffix paras[3]
  */
 void ren(String... paras)
 {
  File[] files = new File(paras[0]).listFiles();
  for (File file : files)
  {
   if (file.isFile())
   {
    String des = file.getName().replaceAll(paras[1], paras[2]);
    if (!file.getName().equals(des))
    {
     if(paras.length == 4 && (paras[3] != null || paras[3].length() != 0)) {
      des = des.replaceAll("$", paras[3]);
     }
     if (file.renameTo(new File(paras[0] + "/" + des)))
     {
      System.out.println("---------------- "
        + "success ----------------");
      continue;
     } else
     {
      System.out.println("---------------- " + file.getName()
        + " failed ----------------");
     }
    }
    else
    {
     System.out.println("---------------- " + file.getName()
       + ",条件不匹配  ----------------");
    }

   }
  }
 }

}

C#读取命令行参数的方法 本文实例讲述了C#读取命令行参数的方法。分享给大家供大家参考。具体如下: 下面的代码用于从命令行读取参数,参数个数不定,程序将会输出用户在命令行输入的所有参数列表 using System; namespace W3M { class ArgsExample { public static int Main(string[] args) { for (int i = 0; i < args.Length; i++) { Console.WriteLine(args[i]); } return 0; } } } 立即下载

相关推荐

神奇的shell命令行输入与输出功能介绍

标准输入/输出和重定向,Linux发行版Fedora Core Linux,而Red Hat公司原来Red Hat Linux的开发团队也将继续参与这一发行版本的开发工作。 标准输入与输出 我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。 我们以cat命令为例,cat命令的功能是从shell命令行给出的文件中读取数据,并将这些数据直接送

Java编程思想习题2.10:打印出从命令行获得的参数

一、题目 编写一个程序,打印出从命令行获得的三个参数。为此,需要确定命令行数组中String的下标。 二、思路 此处是练习如何从命令行传递数据到main函数中。 三、解题 3.1 程序 package chapter02; public class E2_InputStringArgs { public static void main(String[] args) { int argsLength = args.length; System.out.

m0_37744564的博客 3392

交叉验证选型指南:k折、留一法、时序与分层CV实战决策

交叉验证是评估机器学习模型泛化能力的基础技术,其核心在于通过系统性数据重划分,缓解有限样本对真实分布估计的偏差。原理上,它通过控制训练-验证数据的独立性与代表性,诊断过拟合风险并提升性能指标的稳定性。技术价值体现在避免单次切分导致的结果偶然性、数据利用低效及验证集污染等问题。典型应用场景涵盖分类任务中的类别不平衡处理、时间序列预测的因果约束、用户行为建模中的数据泄露防控等。本文聚焦k折交叉验证、留一法、时间序列交叉验证与分层抽样等主流方法的适用边界与工程落地要点,结合过拟合诊断和泛化能力评估两大热词,提供可

dienangpiao2051的博客 477

Linux系统shell脚本编程——处理用户输入

这里只要给出了三种从脚本用户处获取数据的方法: 1、脚本通过位置参数来取回命令行参数并将他们赋值:shift命令,还有三个特殊变量可以用来处理命令行参数 shell会将s#变量设为命令行输入的参数总数。$*变量会将所有参数保存为一个字符串。$@变量将所有变量都保存为单独的词。 2、除了参数外,脚本用户还可以用命令行选项来给脚本传递信息。命令行选项是前面带有单破折线的单个字母。可以给不同的选项赋值,从而改变脚本的行为。 有三种方式来处理命令行选项:1)把它们当作命令行参数一样处理;2)getopt命令;3

TXFBAP的博客 6084

莆田市C++专项选拔第一轮题4

现在小明同学想要从两堆硬币中各选择一枚硬币,使得两枚硬币的面值之和 不超过 k。不同的硬币组合,就算面值相同,也视为不同的方案。现在他把这些硬币分成了两堆,已知两堆硬币分别有 n 和 m 枚硬币。可选方案有: (1,2), (1,1), (1,1), (5,2), (5,1), (5,1),共 6 种。第一行三个整数 n, m, k,分别表示第一堆硬币的数量,第二堆硬币的数量,以及面值之和的上限。对于30%的数据,1 ≤ n , m ≤ 1000 , 1 ≤ b , c ≤ 1000。

lpstudio的博客 925

AD20丝印层导入图片logo保姆级教程(附黑白预览避坑技巧)

本文提供了一份详尽的AD20丝印层导入图片Logo的实战指南。核心在于将图片预处理为高质量的单色BMP位图,并独家分享了利用Windows画图工具进行“黑白预览”的关键技巧,以提前规避转换失真。教程涵盖了从脚本获取、图片处理、参数设置到生产规范的完整流程,帮助硬件工程师高效、准确地在PCB的Top Overlay层添加个性化标识。

weixin_29194255的博客 386

命令行参数的获取

时不时我们会遇到对命令含参数的处理,如果参数个数较多,按照顺序处理有可能会出现错误或者一些可选参数将不能实现,接下来介绍几个处理命令行参数的函数getopt #include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); extern char *optarg;//带值参

Handsomewgb的博客 1140

华为OD机试 - TLV格式(Python/JS/C/C++ 2025 C卷 100分)

两端通过TLV格式的报文来通信,现在收到对端的一个TLV格式的消息包,要求生成匹配后的(tag,length,valueOffset)列表。和需要匹配的n个tag对应的n行匹配结果,每一行由长度和偏移量组成。第二行:需要匹配的tag数量n(0 < n < 1000)后面N行:需要匹配n个tag值(十进制表示),递增排列。标签10(0A)存在,长度3,valueOffset=2。标签15(0F)长度4,valueOffset=2。标签14(0E)长度2,valueOffset=8。

学Java,找哪吒 2040

一个不错的命令行参数解析类

为什么80%的码农都做不了架构师?>>> ...

weixin_33721427的博客 259

到底什么是Harness工程?一篇文章从入门到企业落地全解析

随着OpenClaw爆火,Harness Engineering(驾驭工程)成为AI编程时代的热门概念,很多小白对其感到陌生。本文用通俗类比和真实案例,避开复杂术语,从基础定义入手,讲清Harness Engineering的核心逻辑——人类工程师设计“约束系统”(马具),让AI模型(烈马)安全高效地完成代码工作,同时拆解其核心组件、企业落地场景和实战成果,帮小白快速入门,读懂这项能解放人力、提升效率的新技术,轻松掌握它的核心价值和落地思路。

program哲学 3269

Lumerical 教程目录,说明及个人感悟(共计138篇,持续更新中)

Lumerical---教程说明及个人感悟

u011699626的博客 1万+

python从命令行获取参数_python从命令行获取参数操作

python从命令行获取参数一: 简单用法 从命令行获取参数两种方式: 1、通过sys.argv参数获取:代码如下:# -*- coding: utf-8 -*-import sys#获取输入参数,对输入参数进行分析#第一种获取输入参数的方式 sys.agrv是一种listprint '输入参数的个数为:', len(sys.argv),'个'print '输入的参数列表为:' , str(s...

weixin_36478447的博客 1570

杰理SDK入门教程(五):按键使用配置

摘要 杰理SDK提供IO按键和AD按键两种方案。IO按键通过GPIO电平检测实现,配置时需要设置板级宏定义和硬件连接,默认使用PB1引脚。AD按键基于ADC电压采样,通过电阻分压区分按键,需配置功能使能、硬件通道和键值适配。按键功能通过修改SDK中的key_table文件实现。两种方案适用于不同硬件场景,开发者可根据需求选择。

qq_42014563的博客 776

命令行参数argv

1.命令行参数argv 。本质是个指针,或者说数组,存储需要输入的参数,通俗来说,就是input()的功能。在python中要是用的话,需要import sys。如果是在pycharm中使用,将参数在下图中的位置填入,以空格分隔。 在文件上右键找到创建运行配置即可找到这个界面。 以下展示代码,这个代码是我看一个博主写的例子,直接拿来用了。附上他的链接 import sys def login(): i = 0 while i < 3: username = sys.

weixin_45867197的博客 925

【单智能体】AI 数据分析智能体案例讲解(附完整源码)

本案例将引导您构建一个基于 AI 的数据分析智能体,让用户能够通过自然语言查询来分析 CSV 和 Excel 文件中的数据,无需掌握 SQL 知识。该智能体使用 Agno Agent 框架集成 OpenAI GPT-4o 模型,并利用 DuckDB 提供高效的数据处理能力。

rengang66的博客 239

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C命令行参数

C语言 命令行参数[转] 在支持C语言的环境中,可以在程序开始执行时将命令行参数传递给程序。 调用主函数main时,有两个参数,第一个参数表示运行程序时命令行中参数的数目;第二个参数表示指向字符串数组的指针,其中每个字符串对应一个参数。 main(int argc, char *argv[]) argc和argv是习惯性用法,可以更改。 argv是一个指向指针的指针, 这个数组的每

YANG TAO 2110

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

c命令行参数

命令行参数的最大作用就是让我们可以在程序之外控制程序,例如linux或者dos中我们经常使用的命令,从本质上将是一个程序;而我们使用的参数,就是该命令(对应的程序)的命令行参数。          正是由于命令行的这么重要的作用,所以它成为各种编程语言不可缺少的功能,只是实现细节上略有不同,但大体上都是一样的,而且都比较简单。 1. 先想一想 1.1 程序中在哪里接收命令行参数(where)

lvchahp的专栏 1231

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java方法04:命令行传递参数

命令行传参 有时候你希望运行一个程序时候再传递给它信息。这要靠传递命令行参数给main()函数实现。 package com.epfox.method; public class Demo03 { public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.println("args["+ i +"]:" + args[i].

vbice的专栏 159

python getopt参数参数自动补全_python采用getopt解析命令行输入参数实例

本文实例讲述了python采用getopt解析命令行输入参数的方法,分享给大家供大家参考。具体实例代码如下:import getoptimport sysconfig = {"input":"","output":".",}#getopt三个选项,第一个一般为sys.argv[1:],第二个参数为短参数,如果参数后面必须跟值,须加:,第三个参数为长参数#是一个列表,opts, args = get...

weixin_39622628的博客 212

Go基础编程:获取命令行参数

本文转自:http://blog.youkuaiyun.com/mchenys/article/details/50991165 package main import ( "fmt" "os" //os.Args所需的包 ) func main() { args := os.Args //获取用户输入的所有参数 //如果用户没有输入,或参数个数不够,则调用该...

秋叶原 && Mike || 麦克 7647

使用flags定义命令行参数

 import tensorflow as tf #第一个是参数名称,第二个参数是默认值,第三个是参数描述 tf.app.flags.DEFINE_string('str_name', 'def_v_1',"descrip1") tf.app.flags.DEFINE_integer('int_name', 10,"descript2") tf.app.flags.DEFINE_boole

芦金宇的专栏 912

python命令行参数处理

使用argparse包来解析命令行参数: 1 #/usr/bin/python 2 #encoding=utf-8 3 4 import argparse 5 parser = argparse.ArgumentParser() 6 #parser.parse_args() 7 8 #位置参数, echo只是一个占位符而已,也可以定义参数的类型 9 pa...

weixin_34370347的博客 63

JAVA命令行参数设定

在服务器上面运行java程序时,常常需要输入参数,为了防止记不住或者位置出错等问题,需要给出相关的提示,好在这个很容易实现。 首先下载 common-cli这个jar包,可以从这里下载:http://commons.apache.org/proper/commons-cli/ 然后把jar包添加到工程中去,在传递参数时添加如下代码: String source_path; Str

无知的我 2303

C语言 命令行参数

在支持C语言的环境中,可以在程序开始执行时将命令行参数传递给程序。 调用主函数main时,有两个参数,第一个参数表示运行程序时命令行中参数的数目;第二个参数表示指向字符串数组的指针,其中每个字符串对应一个参数。 main(int argc, char *argv[]) argc和argv是习惯性用法,可以更改。 argv是一个指向指针的指针, 这个数组的每个元素都是一个字符指针,指向的第...

weixin_34358365的博客 181

一起看代码来玩玩QT之25 CommandLine (处理命令行参数就是软件后面带的参数 -l -h 什么的)

main.cpp #include #include #include #include int main(int argc, char** argv) { QCoreApplication app(argc, argv); app.setApplicationVersion("1.0.0.0");//版本信息 app.setApplicationName("

陈薛晨的博客 1557

main()函数的两个参数

main()函数的两个参数

CodingStart 1696
上一篇: 局域网内通过socket进行通信聊天 jar包
下一篇: java
synthialee
博客等级 码龄18年 11粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值