gpt4 book ai didi

java - 导入 .dat 文件 Java

转载 作者:行者123 更新时间:2023-11-30 11:38:31 25 4
gpt4 key购买 nike

我已经在互联网上搜索了大约一个半小时,但我终究无法弄清楚哪里出了问题。求助!!

我的问题是,每次我尝试运行它时,我都不会收到错误消息,直到它搜索文件并且无一异常(exception)地回复“找不到文件”。我在 MAC 上,我想我正在正确输入目录,但有些东西搞砸了..

(打开 numEven.dat 时)对于我的输入,我尝试了“numEven.dat”(将 dat 文件放在与 java 文件相同的目录中)

我也试过“/Users/java/numEven.dat”和“Users/java/numEven.dat”我知道它在那个目录中。我做错了什么?

主类文件:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;

public class StatDriver
{

public static void main(String[] args)
{
String fileName = "";
Scanner scan = new Scanner(System.in);

double[] array = new double[20];

System.out.print(" Enter file name: ");
fileName = scan.next();

System.out.println("\n \n \n \n My Grades - View Statistics");
System.out.println(" ------------------------");

// int valueCount = readFile(array,fileName);
array = readFile(array, fileName);

Stat stat = new Stat(array, array.length);

// call each calc on Stat class and display results for each method
stat.calcAvg();
stat.calcMedian();
stat.findMax();
stat.findMin();
// print the return values for each of the above out to the user
}

public static double[] readFile(double[] array, String fileName)
{
int valueCount = 0;

FileIO importFile = new FileIO ();

importFile.main(array, fileName);
System.out.println(array);

valueCount = array.length;

// return valueCount;
return array;
}

}

文件 IO 类:

import java.util.Scanner;
import java.io.*;
public class FileIO
{
public void main (double[] array, String fileName)
{
double [] num = new double[5];
Scanner inFile;
int i = 0;

try
{
System.out.println(fileName);
inFile = new Scanner(new File("fileName"));

while(inFile.hasNextDouble())
{
array[i] = inFile.nextDouble();
i++;
}

inFile.close();
for(int x = 0; x < i; x++)
System.out.println(" " + num[x]);
}
catch(FileNotFoundException e)
{
System.out.println (" File not found");
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println (" array index too large");
}
}
}

最佳答案

尝试改变

 inFile  = new Scanner(new File("fileName"));

 inFile  = new Scanner(new File(fileName));

在方法 FileIO.main

除此之外(没有问题的链接),您可以使方法 FileIO.main 静态化,并利用 Java 集合来避免对 的元素数量进行硬编码double 你想从文件中读取。在相同的方法中,您声明了一个变量 double[] num 但根本没有使用它。

关于java - 导入 .dat 文件 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13598644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com