如何通过批处理发送文件名并在Java中接受文件名

乔什·马丁(Josh Martin)

好的,所以我可能说错了这一点,这有点难以解释。这样就可以了:主要目标:分批调用Java三角程序,同时还通过管道将testcase.txt文件列表与输入一起发送给Java程序,以确定三角类型。无需在Java程序中硬键入文件名。

问题:不确定如何从批处理命令窗口接受要在java应用程序中使用的fileName。

目前,我仅使用一个文本文件进行测试,其中包含3个以空格分隔的数字。当单独运行Java程序时,我可以键入文本文件的文件路径,一切都会按预期进行。但是a,我不能硬编码或询问用户该路径,因为这应该由批处理文件设置为调用这15个测试用例文件以发送到程序。我现在不了解的部分代码是:

        Scanner input = new Scanner(System.in);
        String fileName = input.next();
        Scanner reader = new Scanner (new File(fileName));

因此,我知道input.next()将要求键盘输入,如何将其从键盘输入切换为批处理文件输入?如果那是有道理的。

这是我的批处理文件:

@ECHO off

set /P num1="Please enter file path: "

echo You entered %num1%
ECHO Checking for file...
if exist %num1% (
    set num1=Congrats! I found the file!
    C:\Users\josh\Documents\NetBeansProjects\Triangle\src\TriangleRebuild.java
) else (set num1=File does not exist)

echo %num1%

PAUSE


exit

完整代码:

/*
 * Josh 

Software Engineering

Structured Triangle Implementation in Java

 */
import java.io.*;
import java.util.*;

public class TriangleRebuild {

    public static void main(String[] args) throws FileNotFoundException{
        Scanner input = new Scanner(System.in);
        String fileName = input.next();
        Scanner reader = new Scanner (new File(fileName));


        int a;

        int b;

        int c;

        boolean isATriangle;

        System.out.println("Enter 3 integers which are sides of a triangle: ");

        a = reader.nextInt();

        b = reader.nextInt();

        c = reader.nextInt();

        System.out.println("Side A is: " + a);

        System.out.println("Side B is: " + b);

        System.out.println("Side C is: " + c);



        if((a < b + c) && (b < a + c) && (c < a + b)){

            isATriangle = true;

        } 

        else{

            isATriangle = false;

        }

        if(isATriangle){

            if((a == b) && (b == c)){

                System.out.println("Triangle is Equilateral.");

            }

            else if((a != b) && (a != c) && (b != c)){

                System.out.println("Triangle is Scalene.");

            }

            else{

                System.out.println("Triangle is Isosceles.");

            }

        }

        else{

            System.out.println("Not a Triangle.");

        }

        if((Math.pow(c,2) == Math.pow(a,2) + Math.pow(b,2))){

            System.out.println("Triangle is a right Triangle.");

        }

        else{

            System.out.println("Triangle is not a right Triangle.");

        }







    }

}
怀疑论者

您知道每个main方法都是这样声明的:

public static void main(String[] args) {...}

args数组代表命令行参数。也就是说,您javacmd窗口或批处理中命令行上编写的参数因此,例如,如果您的批次中有一行显示:

java TriangleRebuild abc.txt

然后在程序内部,数组args将具有值{ "abc.txt" }您可以使用进行访问args[0]你必须确保,当然,这args.length > 0args[0] != null你使用它之前,以防万一有人忘了写在命令行上的文件名。

您可以在命令行中传递几个文件名。

java TriangleRebuild abc.txt def.txt hij.txt

然后,您的数组将是:{"abc.txt","def.txt","hij.txt"}在程序内部。

这样,您可以将参数从批处理传递到Java并进行处理,而无需与用户进行交互。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从批处理中的变量写入文件名

来自分类Dev

的文件名。在批处理文件中

来自分类Dev

批处理文件以从文件名中删除减号

来自分类Dev

批处理文件中的文件名提取

来自分类Dev

根据批处理脚本中的文件名忽略文件

来自分类Dev

如何通过批处理文件检查文件名形式是数字?

来自分类Dev

如何使用批处理获取文件名?

来自分类Dev

使用批处理脚本在目录中获取文件名

来自分类Dev

Windows中的批处理文件名和行数

来自分类Dev

文件名中的批处理模式替换

来自分类Dev

如何使用批处理文件替换Windows文件名中的单个字符?

来自分类Dev

如何使用批处理脚本删除Windows 7中许多文件的文件名的某些部分?

来自分类Dev

如何根据文件名创建多个目录并在linux中更改文件名?

来自分类Dev

如何在批处理文件中导入批处理文件名

来自分类Dev

批处理文件以根据文件名复制文件

来自分类Dev

批处理文件并使用文件的文件名

来自分类Dev

如何通过批处理文件基于可变长度文件名创建文件夹

来自分类Dev

每天根据文件名通过批处理文件保存一个文件

来自分类Dev

Windows批处理脚本:如何从ftype命令输出中仅提取文件名

来自分类Dev

如何在for循环中的批处理命令中附加到现有文件名

来自分类Dev

如何使用批处理仅从输入路径中过滤完整文件名或完整文件夹名?

来自分类Dev

如何通配文件名并在bash中运行?

来自分类Dev

在批处理文件中更改文件名及其目录名

来自分类Dev

批处理文件-文件名提取

来自分类Dev

批处理起始路径\此文件的文件名

来自分类Dev

从 python 脚本中获取一个变量作为文件名并在批处理脚本中使用它

来自分类Dev

如果文件名在文件名中,则防止批处理修饰符插入脱字符

来自分类Dev

批处理文件以列出csv中的文件路径和文件名

来自分类Dev

.bat文件中的批处理文件名,列出了整个文件路径

Related 相关文章

  1. 1

    如何从批处理中的变量写入文件名

  2. 2

    的文件名。在批处理文件中

  3. 3

    批处理文件以从文件名中删除减号

  4. 4

    批处理文件中的文件名提取

  5. 5

    根据批处理脚本中的文件名忽略文件

  6. 6

    如何通过批处理文件检查文件名形式是数字?

  7. 7

    如何使用批处理获取文件名?

  8. 8

    使用批处理脚本在目录中获取文件名

  9. 9

    Windows中的批处理文件名和行数

  10. 10

    文件名中的批处理模式替换

  11. 11

    如何使用批处理文件替换Windows文件名中的单个字符?

  12. 12

    如何使用批处理脚本删除Windows 7中许多文件的文件名的某些部分?

  13. 13

    如何根据文件名创建多个目录并在linux中更改文件名?

  14. 14

    如何在批处理文件中导入批处理文件名

  15. 15

    批处理文件以根据文件名复制文件

  16. 16

    批处理文件并使用文件的文件名

  17. 17

    如何通过批处理文件基于可变长度文件名创建文件夹

  18. 18

    每天根据文件名通过批处理文件保存一个文件

  19. 19

    Windows批处理脚本:如何从ftype命令输出中仅提取文件名

  20. 20

    如何在for循环中的批处理命令中附加到现有文件名

  21. 21

    如何使用批处理仅从输入路径中过滤完整文件名或完整文件夹名?

  22. 22

    如何通配文件名并在bash中运行?

  23. 23

    在批处理文件中更改文件名及其目录名

  24. 24

    批处理文件-文件名提取

  25. 25

    批处理起始路径\此文件的文件名

  26. 26

    从 python 脚本中获取一个变量作为文件名并在批处理脚本中使用它

  27. 27

    如果文件名在文件名中,则防止批处理修饰符插入脱字符

  28. 28

    批处理文件以列出csv中的文件路径和文件名

  29. 29

    .bat文件中的批处理文件名,列出了整个文件路径

热门标签

归档