我在阅读从java中的txt文件中用“:”分隔的一些数字时遇到了一些问题。
这是我到目前为止所做的:
public static void main(String []args) {
Scanner keyb = new Scanner(System.in);
System.out.print("Enter input file name: ");
String inputFile = keyb.nextLine();
System.out.print("Enter output file name: ");
String outputFile = keyb.nextLine();
File file = new File(inputFile);
try {
Scanner sc = new Scanner (file);
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
} catch(FileNotFoundException e) {
System.out.println("File not found!");
}
}
文件numbers.txt
12.1:15.42
0.23:0.25
-9.2:-8.1
13.5:15.9
1024:1023.9
1.0e-3:1.0e-4
15.92:-9.35
18.26:6.4
55.931:55.930
256:512
我不明白为什么它没有被阅读...任何帮助将不胜感激!谢谢!
答案 0 :(得分:0)
我尝试测试你的程序并得到正确的输出。看看
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Read {
public static void main(String[] args) {
File file = new File("numbers.txt");
try {
@SuppressWarnings("resource")
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
} catch (FileNotFoundException e) {
System.out.println("File not found!");
}
}
}
输出:
12.1:15.42
0.23:0.25
-9.2:-8.1
13.5:15.9
1024:1023.9
1.0e-3:1.0e-4
15.92:-9.35
18.26:6.4
55.931:55.930
256:512
答案 1 :(得分:0)
我建议使用java.util.BufferedReader
来读取文件。与Scanner类相比,通常易于使用。
...
BufferedReader br = new BufferedReader(new FileReader(inputFile));
String inLine; //Buffer used to store the current line
while ((inLine = br.readLine()) != null) //keep reading until we reach the end of file
{
System.out.println(inLine);
}
答案 2 :(得分:0)
在字符串类中使用split方法并将输出等同于一个数组,如果它们都与您在上面指定的相同字符完全分开,则每个索引将具有不同的数字:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html和http://www.coderanch.com/t/385246/java/java/split-method-String-API可能有所帮助,但我强烈要求您下载所有API