2015-10-30 3 views
1

Вот подсказка, с которой мне было дано работать (я получил ожидаемый результат, заменив строку «File input = new File(args[0]);» на «File input = new File("data.txt");», но мне было интересно, можно ли это сделать каким-то образом с помощью командной строки): Следующая программа имеет объект String array-list. Вычислите общее значение из входного файла, после чего распечатайте общее значение в новый файл.Использование PrinterWriter с String ArrayList

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 
+2

Просьба уточнить утверждение «может быть сделано каким-то образом с помощью командной строки» – KING

+0

Мой учитель использовал строки, такие как: java FileIOArrayList 1. но это приводит к ошибке за пределами массива, есть ли способ вызвать файл data.txt из терминала? – Cbrower92

ответ

0

Если вы хотите сделать это с помощью командной строки, необходимо указать аргументы командной строки. Вы можете передать имя файла в качестве аргумента командной строки, поместив его после имени класса, как так:

java FileIOArrayList data.txt 

Отъезд учебник по Command Line Arguments.

+0

Спасибо, отлично! – Cbrower92

Смежные вопросы