创建一个新程序:
•从文件中读取一个句子;
•将句子以相反的顺序写入另一个文件;
•完成后,在JOptionPane消息框中向用户打印一条消息。
import java.util.Scanner;
import java.io.File;
import java.util.ArrayList;
import javax.swing.JOptionPane;
//输出到文件所用的包
import java.io.File;
import java.io.PrintStream;
import java.io.FileOutputStream;
public class PartB1
{
public static void main(String[] args) throws Exception
{
//step 1读取一个文件(包含一句话)
Scanner file = new Scanner(new File("sen.txt"));
ArrayList<String> sentence = new ArrayList();
//读取文件
while(file.hasNext())
{
sentence.add(file.next());
}
//setp 2把读取到的话反转后输出到另一个文件中
//反转句子
ArrayList<String> reverseSentence = new ArrayList();
for(int i = (sentence.size()-1); i >= 0 ; i--)
{
reverseSentence.add(sentence.get(i));
}
//step 3输出到另一个文件,完成后使用JOptionPane提示完成
/**
* 输出到文件Step1 新建一个文件对象
*/
File reverseFile = new File("reverseSen.txt");
/**
* 输出到文件Step2 文件对象变成文件输出流
*/
FileOutputStream fileStream = new FileOutputStream(reverseFile);
/**
* 输出到文件Step3 文件输出流变成打印输出流
*/
PrintStream printStream = new PrintStream(fileStream);
/**
* 输出到文件Step4 输出流重定向到打印输出流
*/
System.setOut(printStream);
/**
* 输出到文件Step5 对文件进行输入数据
*/
for(int i = 0;i<reverseSentence.size();i++)
{
System.out.print(reverseSentence.get(i)+" ");
}
/**
* 输出文件Step6 最重要的一步,最容易忽略的,将打印流关闭。
*/
printStream.close();
JOptionPane.showMessageDialog(null,"输出完成");
}
}