我想分析多个字符串成变量从Java中的.txt文件。 什么是做到这一点的最简单的方法是什么?

什么是做到这一点的最好方法是什么? 我应该使用File类和扫描仪? 我从来没有这么做过,似乎无法找到它了坚实的指南网上,所以我想我会问这里。

编辑:
该文本文件我解析是3列,前三个是ID名称出生日期则实际数据。

编辑(代码pastie):

public void readFromFile(File file ) { try { System.out.println("success.."); s = new Scanner(file); BufferedReader input = new BufferedReader(new FileReader(file)); String jj = null; while((jj = input.readLine())!=null) { String [] words = jj.split("\\t"); String name = ""; String id = ""; String birthdate =""; for (int i = 3; i<words.length; i+=3) { id =words[i]; name = words[i+1]; birthdate=words[i+2]; Person p = new Person(id, name, birthdate); peopleMap.put(p.id,p); names.add(p); System.out.println("New entry added to file: "+name+"\\t"+"ID: " +id+"\\t"+"Birthdate"+birthdate); } } } catch(IOException e) { } }

--------------解决方案-------------

最简单的方法取决于文本文件的格式。 从您的其他意见,这听起来像线条制表符分隔值。 作为一个初学者,你可能会发现它使用最简单的扫描仪。 具体来说,Scanner.nextLine()。 夫妇,与使用String.split(“\ t”的),以将数据分割成一个阵列(假设格式是制表符分隔值)。

简单地取决于文本文件的格式。

  1. 如果它的简单的名称值对,那么你可以使用java.util.Properties。 例如a.properties可能看起来像:

    name=john
    city=san jose
    date=12 july 2010

那么你可以加载此为:

Properties props = new Properties();
props.load(new FileInputStream("a.properties"));

  1. 如果格式是比什么是java.util.Properties.load(支持),然后使用java.util.Scanner中的将是逐行处理很有帮助不同:

    File file = new File("data.txt");
    try
    {
    Scanner scanner = new Scanner(file);
    while (scanner.hasNextLine())
    {
    String line = scanner.nextLine();
    //Process each line seperately
    processLine(line);
    }
    } catch (FileNotFoundException e)
    {
    e.printStackTrace();
    }

如果你有时间说什么了语法/文本文件的结构,然后考虑将其Java属性文件。 然后,你可以加载和保存与使用最少的编程工作文件java.util.Properties类。

这是我喜欢做的事情在这种情况下:

Scanner s = new Scanner(file);
Scanner line;
String name;
String date;
int id;
while(s.hasNext()){
line = new Scanner(s.nextLine());
id = line.nextInt();
name = line.next/*String*/();
date = line.next/*String*/();
/* Do something with id, name and date */
}

也许有一些异常处理或类似的东西

(任何人都希望在创造了许多新的扫描仪的效率有何评论?)

分类:java的 时间:2015-03-15 人气:0
本文关键词: 字符串,JAVA,文件解析
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.261 (s). 10 q(s)