我有一个输入文本文件,格式如下:
11111, "Top Secret Twenty One - Janet Evanovich", 8.99
22222, "W Is For Wasted - Sue Grafton", 9.95
33333, "Gray Mountain - John Grisham", 14.95
44444, "Revival - Stephen King", 12.95
我怎样才能阅读" 1111" "最高机密二十一 - 珍妮特埃万诺维奇"和" 8.99"作为单独的变量没有引号和逗号?
我基本上试图在文件中搜索bookID(又名" 11111")。
答案 0 :(得分:0)
这是我在课堂上学到的方式:
import java.util.*; // for the scanner
import java.io.*; // for the object
File f = new File("<filename>");
Scanner input = new Scanner(f);
input.useDelimiter(",|\"|\n"); // delimiters are commas, quotes, and newlines
input.nextInt(); //reads 1111 as an integer
input.next(); // reads the empty space (needed because " " wasn't declared as a delimiter)
input.next(); // reads in Top Secret Twenty One - Janet Evanovich as a String.
input.next(): // reads in the empty space
input.nextDouble(); // reads in 8.99 as a double
要更改Java的默认分隔符(空格,制表符,换行符),我使用了以下内容:
Scannervariable.useDelimiter(”,| \ “| \ n”);
此命令使用逗号,引号和换行符作为分隔符,忽略它们并移动到下一个标记。 |意思是“或”。您可以使用以下扫描仪方法,具体取决于您尝试阅读的内容:
next(),nextInt(),nextDouble()或nextLine()
您可以在线查找每种方法的确切功能。