2016-03-01 4 views
0

Я пишу алгоритм, который принимает входной файл ввода-вывода с текстом, читает его процесс, а затем выводит файл с его обратным текстом. пример:Программа, которая заменяет строки файла обратным

Здравствуйте слово

будет

дроу olleH.

Программа компилируется, но папка «text_Output» пуста. ????

некоторые идеи ??

import java.util.*; 
import java.io.*; 
import java.io.FileNotFoundException; 
import java.util.ArrayList; 
import java.io.PrintWriter; 
import java.io.File; 


public class Reverse 
{ 
    public static void main(String[] args) throws FileNotFoundException { 

    //read file from user 
    Scanner Input = new Scanner (new File("text_input.txt")) ; 
    // declar arraylist 
    ArrayList <String> Lines = new ArrayList <String>(); 

    //use while loop to copy by line all data from text to array list 
    while (Input.hasNextLine()) 
    { 
     //add line to array list 
     Lines.add(Input.nextLine()); 
    } 
    Input.close(); 

    // create new output file 
    PrintWriter Output = new PrintWriter(new File("text_Output")); 

    //copy data from lines arraylists to new text file 
    for (int i =0; i < Lines.size();i++) 
    { 
     //copy first element into char array 
     char[]strLine = Lines.get(i).toString().toCharArray(); 

     //copy each char to string array in new text file 
     for(int j=strLine.length-1;j>=0;j--) 
     { 
     //copy index char in file 
     Output.print(strLine[j]); 
     Output.println(); 
     } 
     //close the files 
     Input.close(); 
     Output.close(); 
    } 
    } 
} 

ответ

1

В для петли записи, он считывает только первую строку, а затем ввод и вывод closed.I пытались с несколькими линиями входных данных и работает нормально с указанным ниже кодом.

 for (int i =0; i < Lines.size();i++) 
     { 
      //copy first element into char array 
      char[]strLine = Lines.get(i).toString().toCharArray(); 

      //copy each char to string array in new text file 
      for(int j=strLine.length-1;j>=0;j--) 
      { 
      //copy index char in file 
      Output.print(strLine[j]); 

      } 
      Output.println(); 
     } 
// here close the input and output. 
} 
} 
+0

ohh Я забыл положить .txt в конец, но файл выводит только одно слово [yaM], в то время как у меня есть большой текст – Ivawen

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