【发布时间】:2014-08-28 16:45:41
【问题描述】:
我正在使用 Java 进行编码,我需要将从 .txt 中获取的文本分隔到数组的不同部分。文本由不同的“文本”组成,如文档集合。 每个文本之前的行类似于:“*TEXT”和一些数字,但我认为,用唯一的单词“*TEXT”可以划分每个文本。 .txt 的示例:
*TEXT 017 01/04/63 PAGE 020
THE ALLIES AFTER NASSAU IN DECEMBER 1960, THE U.S ........
*TEXT 020 01/04/63 PAGE 021
THE ROAD TO JAIL IS PAVED WITH NONOBJECTIVE ART SINCE THE KREMLIN'S SHARPEST BARBS THESE DAYS ARE AIMED AT MODERN ART AND WESTERN ESPIONAGE...
*TEXT 025 01/04/63 PAGE 024
RED CHINA FIXING FRONTIERS RED CHINA PRODUCED A SECOND SURPRISE LAST WEEK...
所以我需要将文本 017 放在数组的某个位置,而下一个位置将是文本 020。 我该怎么做?
这是我如何使用 FileReader 从 .txt 中获取文本的代码:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import javax.swing.JFileChooser;
public class Reader{
public static void main(String args[]){
File inFile;
FileReader fr;
BufferedReader bufReader;
JFileChooser chooser;
int reply;
String doc = "";
String line;
try{
chooser = new JFileChooser();
reply = chooser.showOpenDialog(null);
doc = chooser.getCurrentDirectory().getPath() + System.getProperty("file.separator") +
chooser.getSelectedFile().getName();
inFile = new File(doc);
fr = new FileReader(inFile);
bufReader = new BufferedReader (fr);
do{
line = bufReader.readLine();
if(line ==null )
return;
else{
System.out.println(line);
}
} while(line!=null);
bufReader.close();
}//end try
catch(Exception e)
{ System.out.println("error: "+e.getMessage()); }
}//main
}//end class reader
【问题讨论】:
-
等待您想要实际的文本?或号码?您的问题使您似乎只想要数组中的 017 或 020 。如果您想要整个文本,那么只需拆分即可。
-
我想要全文,不好意思英文不太好? ://
标签: java arrays text filereader