将 PrinterWriter 与字符串 ArrayList 一起使用

Using PrinterWriter with a String ArrayList

这是我得到的提示(我通过将行“File input = new File(args[0]);”替换为“File input = new File("data.txt");”得到了预期的结果,但我想知道这是否可以以某种方式完成使用命令行): 以下程序具有 String array-list 对象。计算总值 从输入文件中,然后将总值打印到一个新文件中。

import java.io.File;
import java.io.PrintWriter;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class FileIOArrayList {
 public static void main(String[] args) throws FileNotFoundException
 {

 List<Integer> data = new ArrayList<Integer>();

File input = new File(args[0]);
 Scanner myScanner = new Scanner(input);
 while (myScanner.hasNextInt()){
      data.add(myScanner.nextInt());
      }

      PrintWriter myWriter = new PrintWriter("output.txt");

       for(int i=0; i<data.size(); i++)
      {
      myWriter.println(data.get(i));
      }
      myWriter.close();

    }
   }

====输出示例=======

32
54
76
90
10
300
543
179
4
2
5
Total sum = 1295

如果要通过命令行执行此操作,则必须指定命令行参数。您可以将文件名作为命令行参数传递,方法是将其放在 class 名称之后,如下所示:

java FileIOArrayList data.txt

查看 Command Line Arguments 上的教程。