如何在java中从main读取和写入文本文件

时间:2013-10-28 22:47:02

标签: java file file-io ioexception

静态方法main,它接收一个字符串数组。该数组应该有两个元素:文件所在的路径(索引为0),以及要处理的文件的名称(索引为1)。例如,如果名称是“Walmart”,那么程序应该使用“Walmart.cmd”(它将从中读取命令)和“Walmart.pro”(它将从中读取/写入产品)。

我不希望任何人为我编写代码,因为这是我需要学习的东西。但是我一直在读这篇文章并且措辞令人困惑。如果有人可以通过伪代码或算法帮助我理解它对我的要求,我们将不胜感激。

3 个答案:

答案 0 :(得分:0)

所以让我们解释一下

  • 创建课程库存:如果你不知道如何创建一个类google就像它一样
  • 静态方法main:java中的每个可执行类(至少来自控制台)都有主要的方法你应该google java main方法,并且在你找到它的同一个地方你会看到默认的参数它接收
  • 当您了解方法main的默认参数时,您将了解必须在其上的'args'
  • 你将学习班级String google it“java String class”
  • 你必须学习班级File google it“java File class”

    最后,其他一切都只是逻辑,我认为你已经学到了一些东西。

  • 答案 1 :(得分:0)

    public class Inventory { // class inventory
    
    public static void main(String[] args) // main method
    {
    
    if(args.length==2){ // check if args contains two elements
    String filePath = args[0];
    String fileName = args[1];
    
    filePath+= System.getProperty("file.separator")+fileName; 
    
    File fileCMD = new File(filePath+".cmd");
    //fileCMD.createNewFile(); 
    File filePRO =new File(filePath+".pro");
    //filePRO.createNewFile();
    
    
    }
    
    else {
    
    //write the code to print the message Usage: java Inventory Incorrect number of parameters for a while and exit the program.
    }
    
    }
    

    这就是我所理解的。基本上你必须编写一个程序来创建两个文件,一个名为fileName.cmd,另一个名为fileName.pro。您必须使用参数(main方法的输入参数)和系统的文件分隔符构造文件的路径。如果参数没有两个元素,则必须打印“无效”消息。而已。

      

    我很困惑的是如何初始化arg [0]和arg [1]   它们被初始化为什么。

    您必须使用命令行传递参数并启动程序,类似于cmd或终端中的以下代码:

    java inventory thePath theFileName
    

    这是如何初始化的。

    答案 2 :(得分:0)

      

    我很困惑的是如何初始化arg [0]和arg [1]   它们被初始化为什么。

    main方法的String数组输入参数包含在运行程序时传递给程序主方法的任何String参数。例如,这是一个循环遍历args的简单程序,并在一个单独的行上打印一条带有每个参数的索引和值的好消息:

    package com.example;
    
    public class MainExample {
        public static void main(String[] args) {
            for (int i = 0; i < args.length; i++) {
                System.out.printf("args[%d]=%s\n", i, args[i]);
            }
        }
    }
    

    编译完程序后,可以在命令行运行它并传递一些参数:

    java -cp . com.example.MainExample eh? be sea 1 2 3 "multiple words"
    

    输出:

    args[0]=eh?
    args[1]=be
    args[2]=sea
    args[3]=1
    args[4]=2
    args[5]=3
    args[6]=multiple words