2015-12-11 2 views
2

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

Предполагая, что консоль выглядит следующим образом:

2 4 5 1 9 3 6 8 7 
9 7 6 2 5 8 4 1 3 
1 8 3 7 4 6 9 2 5 
8 5 2 3 1 9 7 4 6 
3 1 9 4 6 7 8 5 2 
7 6 4 5 8 2 3 9 1 
4 3 8 6 2 5 1 7 9 
5 9 7 8 3 1 2 6 4 
6 2 1 9 7 4 5 3 8 

И что выход консоли хранится в переменной массива с именем «туАггау» Как бы я пишу его в текстовый файл, поэтому он выглядит так же, как и (или отделяться запятыми)

до сих пор у меня есть это:

File solutionFile = new File("output.txt"); 
FileOutputStream stream = new FileOutputStream(solutionFile); 
PrintStream writeOut = new PrintStream(stream); 
System.setOut(writeOut); 

for (int rows = 0; rows < 9; rows++) { 
    for (int columns = 0; columns < 9; columns++) { 
    System.out.println(myArray[rows][columns] + " "); 
    } 
} 

Когда он записывает в файл, каждый номер помещается на отдельной строке. Любая помощь возможна? Спасибо!

ответ

2

Не делайте заявления о печати println, всего print.

for (int rows = 0; rows < 9; rows++) { 
    for (int columns = 0; columns < 9; columns++) { 
    System.out.print(myArray[rows][columns] + " "); //keep printing on the same line 
    } 
    System.out.println(); //go to the next line 
} 

Другое, что вы можете сделать, это перенаправление ввода-вывода. Если вы запустите программу через терминал или командную строку, вы можете ввести java MyProgram > outputFile.txt. > перенаправляет вывод консоли, чтобы перейти к outputFile.txt вместо того, где он обычно идет.

+0

Ничего себе, я чувствую себя глупо, как черт! Спасибо!! Когда он позволяет мне принять ответ через 10 минут, я буду принимать это как ответ ... – rockymontana

+0

Не волнуйся, у всех нас такие глупые ошибки: – Aderis

1

Используйте следующий код (вместо Println использования только Принг и вызвать Println() после того, как второй по)

File solutionFile = new File("output.txt"); 
FileOutputStream stream = new FileOutputStream(solutionFile); 
PrintStream writeOut = new PrintStream(stream); 
System.setOut(writeOut); 

for (int rows = 0; rows < 9; rows++) { 
    for (int columns = 0; columns < 9; columns++) { 
    System.out.print(myArray[rows][columns] + " "); 
    } 
    System.out.println(); 
} 
+0

Да, кто-то избил тебя, но спасибо большое! – rockymontana

0

Я знаю, что это, вероятно, не то, что вам нужно, но только, чтобы дать вам представление о другой способы сделать это, я выразился здесь. Другой ответ - это то, что вам нужно.

Если вы используете командную строку для выполнения кода Java, вы можете перенаправить STDOUT в файл, запустив такой код: java Main > output.txt

Вы также можете перенаправить STDIN: java Main <input.txt> output.txt.

+0

Да, я знаю об этом, но я ищу что-то другое. Спасибо тебе! – rockymontana

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