我想知道如何读取文件,扫描每一行,但将每行的内容分成Char变量和Double变量。
示例:
我们假设我们编写了一个打开文本文件" Sample.txt"的代码。要阅读第一行,您将使用以下代码:
while(fin.hasNext())
{
try{
inType2 = fin.next().charAt(0);
inAmount2 = fin.nextDouble();
}
这段代码基本上说如果有下一行,它会将下一个char放入inType2,将下一个Double放入inAmount2。
如果我的txt文件编写如下:
D 100.00
E 54.54
T 90.99
我将如何阅读每一行,并将" D"在Char变量中,以及相应的Double或" 100.00",在本例中,为Double变量。
我觉得我写的代码读取了以下txt文件:
D
100.00
E
54.54
T
90.99
如果你能为我提供一种从文件中读取行的有效方法,并根据变量类型分开,我非常感激。 Sample.txt将始终具有char和double秒。
-Manny
答案 0 :(得分:1)
使用BufferedReader
读取行,然后在空格上拆分。
while((line=br.readLine())!=null){
String[] arry = line.split("\\s+");
inType2 = arry[0];
inAmount2 = arry[1];
}
答案 1 :(得分:0)
您可以按whitespace
和
Scanner scanner = new Scanner(new File("."));
while (scanner.hasNext()) {
//If both on different lines
c = scanner.next().charAt(0);
d = scanner.nextDouble();
//if both on same line
String s = scanner.next();
String[] splits = s.split("\\s+");
if (splits.length == 2) {
c = splits[0].charAt(0);
d = Double.parseDouble(splits[1]);
}
}
scanner.close();