찾다

 >  Q&A  >  본문

java 如何解析txt文档,输入检索信息,然后输出

请输入代码需求:

请解析config.txt,文件格式包括段落名称、字段名称和字段值。段落名称的值为:"segment:"右边的字符串,在一个文件中不会有重复的段落名称;字段的名称为"="左边的字符串,字段的值为"="右边的字符串。例如:ipconfig是段落,ip是字段名称,字段值是"192.168.0.1",文件中以#起始的行为注释行,需要跳过,不做解析。

要求:

  1. 文件名称、段落名称、字段名称需要作为最终执行程序的命令行参数输入,程序返回字段值,输出到屏幕;

  2. 文件行中可能有多余的空白(空格或者制表符),比如等号前、等号后、前导空白符等,需要过滤这些空白符,只输出字段值;

  3. 需要注意:要判断是否是注释行,如果是注释行则跳过不做处理;

  4. 需要注意:要判断文件中是否有空白行,如果有空白行则跳过不做处理;

  5. 需要注意:段落名称不可能重复,但是,不同的段落中可能存在相同的字段名称;

  6. 需要注意:如果出现非法的命令行输入参数,需要有明确并恰当的提示;
     

环境提示:

java和操作系统无关,建议安装JDK后,使用文本编辑器编辑程序(如notepad、UE、vi等),在命令提示符下直接使用javac命令编译成class文件,使用java命令执行程序。

示例(java程序):

输入:javac GetConfig.java #进行编译;
       java GetConfig config.txt jdbcconfig username #命令行执行程序
       
       #三个参数:
       1、文件名称  
       2、段落名称  
       3、字段名称
       
       #本程序实现:根据段落名称和字段名称从指定的文件中取值。
输出:zhangsan    #输出结果

这是txt文档内容

#   net.conf
#   2009/12/20
    
#ipconfig 
segment:ipconfig
ip=     192.168.0.1
port=81
timeout=600000

#idbcconfig
segment:jdbcconfig
ip   = 192.168.0.2
port=8080
username=zhangsan

password=000000

#ftpconfig
segment:ftpconfig
ip= 192.168.0.3
port=21
username=mng

password=qqhbc

#websit
segment:websit
ip=192.168.0.222
port=8000
address=  http://www.sina.com.cn

#netconfig
segment:netconfig
ip = 192.168.9.28 
port= 1045
mac= AA.EF.FF.BA.3F.7A
timeout=600000
天蓬老师天蓬老师2853일 전646

모든 응답(3)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-04-18 09:05:32

    캐릭터별로 스캔하고 분석하는 것은 어렵지 않습니다.
    이런 질문은 먼저 스스로 분석할 수 있는 프로그램을 작성해보고 문제가 있는지 물어보세요. 질문을 게시하면 다른 사람이 직접 프로그램을 제공할 것이라고 기대하지 마세요.
    스스로 할 수 있다는 인식이 있어야 하고, 먹을 것과 입을 것이 충분하고, 프로그래밍을 배워야 합니다.

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-18 09:05:32

    복잡하지 않습니다. . 파일 읽기를 살펴보겠습니다. 먼저 txt를 읽은 다음 문자열을 분석합니다.

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:05:32

    아이디어:
    1.
    javac GetConfig.java 명령의 기능을 이해하시나요?
    java GetConfig config.txt jdbcconfig username
    이 명령은 컴파일된 GetConfig 파일을 실행하는 것이므로 프로그램에서 해당 매개변수를 config.txt jdbcconfig username 어떻게 얻습니까? "java main args"

    를 검색하세요.

    2. 대상 파일 이름을 알면 java를 사용하여 로컬 파일을 메모리로 읽어들이고 "java 읽기 파일"을 직접 검색하는 방법

    3. 파일을 메모리로 읽은 후 질문의 요구 사항에 따라 문자열 처리를 수행하고 "java String Usage"를 직접 검색할 수 있습니다.

    팁: 파일을 한 줄씩 읽을 수 있으며, 요구 사항에 따라 각 줄을 구문 분석하여 대상 필드 이름을 찾으면 값을 직접 출력할 수 있습니다.
    더 시도해 보세요.

    회신하다
    0
  • 취소회신하다