打开一个文本文件,每次读取一行内容。将每行作为一个String读入,并将那个String对象置入一个Vector里。按相反的顺序打印出Vector中的所有行
在上面的基础上又打开一个文本文件,以便将文字写入其中。将Vector中的行随同行号一起写入文件。
------解决方案--------------------
- Java code
package zhao;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Vector;public class Test { public static void main(String args[]) { Vector<String> v = new Vector<String>(); BufferedReader bufin = null; BufferedWriter bufout = null; try { bufin = new BufferedReader(new FileReader("D:\\eclipse\\test.txt")); String s = null; while((s=bufin.readLine()) != null) { v.add(s); } bufin.close(); String [] array = v.toArray(new String[v.size()]); for(int i=array.length-1;i>=0;i-- ) { System.out.println(array[i]); } bufout = new BufferedWriter(new FileWriter("D:\\eclipse\\testin.txt")); for(String s1:v) { bufout.write(s1+"\n"); } bufout.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if(bufin!=null) { try { bufin.close(); } catch (IOException e) { e.printStackTrace(); } } if(bufout!=null) { try { bufout.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
------解决方案--------------------
蹭分^_^
- Java code
import java.io.*;import java.util.*; public class Test{ public void doSomething(String inFileName,String outFileName) throws IOException{ File inFile = new File(inFileName); File outFile = new File(outFileName); BufferedReader br = new BufferedReader(new FileReader(inFile)); BufferedWriter bw = new BufferedWriter(new FileWriter(outFile)); String s = null; Vector<String> list = new Vector<String>(); while((s = br.readLine()) != null){ list.add(s); } br.close(); Collections.reverse(list); int line = 1; for(String tmp:list){ System.out.println(tmp); bw.write((line++) + "\t" + tmp); bw.newLine(); } bw.flush(); bw.close(); } public static void main(String[] args){ try { new Test().doSomething("C:/in.txt","C:/out.txt"); } catch (IOException e) { e.printStackTrace(); } }}