我在从文本文件中读取双输入时遇到一些问题
我正在编写一个程序,可以读取包含这样的数字的文件的输入
任何人都有一些想法或提示请... ??
package Test;
import java.io.*;
import java.util.*;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
public class readfileVector {
public static void main(String[] args){
try{
readDataFromFile();
}catch(IOException ex){
ex.printStackTrace();
}
}
public static void readDataFromFile() throws IOException{
double a, b, c;
FileInputStream fis = null;
try{
fis = new FileInputStream(new File("D:\\Pro1\\vector.inp.txt"));
DataInputStream dis = new DataInputStream(fis);
a = dis.readDouble();
b = dis.readDouble();
c = dis.readDouble();
System.out.println("double:" + a + "; double:" + b + ";double:" + c );
}catch(IOException ex){
ex.printStackTrace();
}finally{
if(fis != null)
fis.close();
}
}
} 我正在尝试这样做
答案 0 :(得分:1)
String stringValue = new Scanner( new File("myDoubles.txt") ).useDelimiter("\\A").next();
// split string by any whitespace
String[] doublesAsStrings = stringValue.split("\\s+");
for( int i = 0; i < doublesAsStrings.length; i++ )
double val = Double.parseDouble( doublesAsStrings[i] );
你明白了。
来源:How do I create a Java string from the contents of a file?
答案 1 :(得分:1)
您可以使用以下扫描仪读取您的文件:
Scanner s = new Scanner(new File(<your file>));
while(s.hasNextDouble()){
a = s.nextDouble();
b = s.nextDouble();
c = s.nextDouble();
System.out.println("double:" + a + "; double:" + b + ";double:" + c );
}
希望这有帮助。