`

开启一个文本文件,一次读取其内的一行文本

    博客分类:
  • Java
阅读更多
/*题目:编写一个Java程序要求:开启一个文本文件,一次读取其内的一行文本。
 *令每一行形成一个String,并将读出的String对象置于LinkedList中。
 *请以相反次序印出LinkedList内的所有文本行。
 * */

package test;
import java.io.*;
import java.util.LinkedList;

public class File_2
{

 /**
  * @param args
  */
 public void getText(String pathreader, String pathwriter)
 {
  try
  {
   int i = 0;
   String data;
   File file = new File(pathreader);
   FileReader fr = new FileReader(pathreader);
   BufferedReader br = new BufferedReader(fr);
   
   FileWriter fw = new FileWriter(pathwriter);
   BufferedWriter bw = new BufferedWriter(fw);
   
   LinkedList link = new LinkedList();
   System.out.println(file.getName().length());
   
   String line[] = new String[file.getName().length()];
   while((data = br.readLine()) != null)
   {
    line[i] = data;
    i = i + 1;
   }
   br.close();
   fr.close();
   for(int j = line.length - 1; j >= 0; j--)
   {
    link.add(line[j]);
   }
   for(int j = 0; j < line.length; j++)
   {
    if(((String)link.get(j)) != null)
    {
     bw.write((String)link.get(j));
     bw.newLine();
    }
   }
   bw.flush();
   bw.close();
   br.close();
   for(int j = 0; j < line.length; j++)
   {
    if(((String)link.get(j)) != null)
    {
     System.out.println((String)link.get(j));
    }
   }
   
  }
  catch(IOException e)
  {
   System.out.println(e);
  }
 }
 public static void main(String[] args)
 {
  // TODO 自动生成方法存根
  try
  {
   File_2 f1 = new File_2();
   f1.getText("/java/java1.txt","/java/java2.txt");
  }
  catch(IndexOutOfBoundsException e)
  {
   
  }
 }
}

 

 

2
4
分享到:
评论
2 楼 风尘之驿 2011-07-25  
String line[] = new String[file.getName().length()];
这是根据要存储的字符串来创建一个指定字符长度的数组变量,为了节省资源
1 楼 whumartine 2011-07-25  
String line[] = new String[file.getName().length()];
这个是用来干嘛的呢?存的是整个文本一行一行的string?貌似这个不能确定就一定能存的完吧?

相关推荐

Global site tag (gtag.js) - Google Analytics