在java中读取文本文件

如何在Java中读取.txt文件,并在每行包含整数,字符串和双精度时将每行放在数组中? 每一行都有不同数量的单词/数字。

我是Java中的一个完整的菜鸟,很抱歉,如果这个问题有点愚蠢。

谢谢

尝试没有人知道的Scanner类,但几乎可以用文本做任何事情。

要获取文件的阅读器,请使用

 File file = new File ("...path..."); String encoding = "...."; // Encoding of your file Reader reader = new BufferedReader (new InputStreamReader ( new FileInputStream (file), encoding)); ... use reader ... reader.close (); 

您应该确实指定编码,否则当您遇到变音符号,Unicode等时会得到奇怪的结果。

最简单的选择是简单地使用Apache Commons IO JAR并导入org.apache.commons.io.FileUtils类。 使用这个课程有很多种可能性,但最明显的可能如下;

 List lines = FileUtils.readLines(new File("untitled.txt")); 

就这么简单。

“不要重新发明轮子。”

你的问题不是很清楚,所以我只回答“阅读”部分:

 List lines = new ArrayList(); BufferedReader br = new BufferedReader(new FileReader("fileName")); String line = br.readLine(); while (line != null) { lines.add(line); line = br.readLine(); } 

常用:

  String line = null; File file = new File( "readme.txt" ); FileReader fr = null; try { fr = new FileReader( file ); } catch (FileNotFoundException e) { System.out.println( "File doesn't exists" ); e.printStackTrace(); } BufferedReader br = new BufferedReader( fr ); try { while( (line = br.readLine()) != null ) { System.out.println( line ); } 

@ user248921首先,您可以将任何内容存储在字符串数组中,这样您就可以创建字符串数组并在数组中存储一行,并在需要时在代码中使用值。 您可以使用以下代码在数组中存储异构(包含string,int,boolean等)行。

 public class user { public static void main(String x[]) throws IOException{ BufferedReader b=new BufferedReader(new FileReader("")); String[] user=new String[500]; String line=""; while ((line = b.readLine()) != null) { user[i]=line; System.out.println(user[1]); i++; } } }