如何在java中读取输入文件

时间:2014-10-29 05:48:59

标签: java

输入文件:

1/2/3/5/6

我想存储数字1 2 3 4 5 6

我的代码:

Scanner in= new Scanner(new FileReader("v.txt"));
in.split();

是否存在这些值?

4 个答案:

答案 0 :(得分:1)

首先阅读整行文字。

String line="";
while(in.hasNextLine(){
 line=in.nextLine();
}

然后按/

分割
String[] arr=line.split("/");

如果您希望将这些值设为int,则可以使用Integer.parseInt()int获取String

答案 1 :(得分:1)

如果您使用Java 7:

List<String> lines = Files.readAllLines(Paths.get("path to file"), StandardCharsets.UTF_8);

答案 2 :(得分:1)

<强> 1 即可。关于Scanner有一个最酷的技巧,您可以将整个文件读成字符串。

String text = new Scanner(new FileReader("v.txt")).useDelimiter("\\A").next();

Source for Scanner Tricks

<强> 2 即可。您可以使用/分隔符

拆分字符串

第3 即可。您可以逐个浏览字符串,将每个String转换为Integer个数字。

  a. Integer.valueOf() which return Integer 
  b. Integer.parseInt() which return int

Java 8

代码:

    String text = new Scanner(new FileReader("1.txt")).useDelimiter("\\A").next();
    String[] sp = text.split("/");
    List<Integer>  listIntegers = Stream.of(sp)
                                        .map( s -> Integer.valueOf(s))
                                        .collect(Collectors.toList());
    listIntegers.forEach(i -> System.out.print(" " + i));

输出:

1 2 3 4 5 6

需要的进口:

import java.util.stream.Collectors;
import java.util.stream.Stream;

答案 3 :(得分:0)

尝试关注代码:

Scanner in= new Scanner(new FileReader("v.txt"));
String tok[];
while(in.hasNextLine(){
 tok=in.nextLine().spilt("/");
}

输入:

1/2/3/5/6

输出

1
2
3
5
6

有关此类操作的更多信息,请访问this链接。