是否有人知道如何正确地从文件中读取,看起来像这样输入:从文件中读取Java中
0.12,4.56 2,5 0,0.234
我想OT读入2个阵列像这样:
a[0]=0.12
a[1]=2
a[2]=0;
b[0]=4.56
b[1]=5
b[2]=0.234
在java中 我尝试使用扫描仪和它的作品来回iput像0 4 5 3.45 6.7898等,但我想它在用逗号 顶部的输入谢谢
这是我试过的代码:
import java.io.File;
进口java.io.FileNotFoundException; import java.util.Scanner;
public class IFFTI {
public static int size=0;
public static double[] IFFTInputREAL= new double[100];
public static double[] IFFTInputIMAG= new double[100];
static int real=0;
static int k=0;
public static void printarrays(){
for(int k=0;k<size;k++){
System.out.print(IFFTInputREAL[k]);
System.out.print(",");
System.out.print(IFFTInputIMAG[k]);
System.out.print("\n");
}
}
public static void readIFFT(String fileName){
try {
Scanner IFFTI = new Scanner(new File(fileName));
while (IFFTI.hasNextDouble()) {
if(real%2==0){
IFFTInputREAL[k] = IFFTI.nextDouble();
real++;
}
else{
IFFTInputIMAG[k] = IFFTI.nextDouble();
real++;
k++;}
}
try{
size=k;
}catch(NegativeArraySizeException e){}
} catch (FileNotFoundException e) {
System.out.println("Unable to read file");
}
}
}
您能否包含您尝试过的代码? – 2012-01-08 15:31:14
看看这里http://docs.oracle.com/javase/tutorial/essential/io/file.html – RanRag 2012-01-08 15:32:33
我想你只需要添加**。useDelimiter(Pattern.compile(“[,]”)) **在您构建之后**到您的**扫描仪**。请参阅下面的更详细的答案。 – 2012-01-08 15:44:00