我正在尝试从与源代码位于同一文件夹的计算机中读取文件,当我运行代码时说:文件不存在 你能救我吗?
import java.io.*;
import java.util.*;
public class Lotto1 {
static String[][] arr;
static String name, number;
public static void main(String[] args) throws IOException {
File f = new File("D:\\Filipe\\Project Final\\src\\database_lotto.txt.txt");
Scanner s;
try {
s = new Scanner(f);
BufferedReader reader = new BufferedReader(new FileReader(f));
int lines = 0;
while(reader.readLine() != null) {
lines++;
}
reader.close();
arr = new String[lines][3];
int count = 0;
//while theres still another line
while(s.hasNextLine()) {
arr[count][0] = s.next() + "" + s.next();
arr[count][1] = s.next();
arr[count][2] = s.next();
count++;
}
} catch(FileNotFoundException ex) {
System.out.println("File does not exist");
}
答案 0 :(得分:0)
你是在Unix / Linux机器上吗?
最好使用File.separator而不是\,因为File.separator使用系统char作为目录(\ on Win,/ on Linux等)。
在使用之前,使用File.exists()检查文件是否存在。
答案 1 :(得分:0)
我已经推断出您正在尝试做的事情并重新编码,但是如果文件位于您所说的位置,此实现将会读取该文件。
public static void main(String[] args) {
final String filename = "database_lotto.txt";
final File lottoFile = new File(filename);
try (final Scanner scanner = new Scanner(lottoFile)) {
final List<String[]> storage = new ArrayList<String[]>();
while (scanner.hasNextLine()) {
storage.add(scanner.nextLine().split(" "));
}
}catch (FileNotFoundException ex) {
System.out.println("File not found :(");
}
}