输入文件:
1/2/3/5/6
我想存储数字1 2 3 4 5 6
我的代码:
Scanner in= new Scanner(new FileReader("v.txt"));
in.split();
是否存在这些值?
答案 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();
<强> 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链接。