我正在编写一个算法,该算法采用带有文本的IO输入文件,读取它处理它然后输出一个带有反向文本的文件。 例如:
Hello word
将是
卓尔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 ();
}
}
}
答案 0 :(得分:1)
在写入的for循环中,它只读取第一行,然后输入和输出关闭。我尝试使用多行输入数据,并且可以正常使用下面提到的代码。
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.
}
}