Имея некоторые проблемы с некоторым кодом, если я помещаю файл где-то, а затем введите полное местоположение файла, он отлично работает, но я не хочу, чтобы это было так. Я просто хочу, чтобы мой data.txt читался из текущего каталога.Сканер файлов Java, текстовый файл не найден
Ошибка: java.io.FileNotFoundException: data.txt (Система не может найти указанный файл)
Я использую Eclipse, я попытался положить data.txt в корневой папке для проекта , папка src и bin, ничего не работает. Даже попытался создать файл с нуля как часть проекта Eclipse. Все еще не будет читать как data.txt. Это должна быть какая-то глупая ошибка, которую я делаю, потому что она работает с полным файловым адресом, но это убивает любую переносимость.
Вот выдержка из кода.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
//... more code
Scanner fileScanner=null;
double salary;
double commission;
double sales;
double stock;
try
{
fileScanner=new Scanner(new File("data.txt"));
while(fileScanner.hasNextLine())
{
int year=fileScanner.nextInt();
String type=fileScanner.next();
Я пытаюсь избежать размещения всего кода, потому что это долго, но если это необходимо, пожалуйста, спросите, и я буду обновлять.
Спасибо!
Печать 'System.getProperty (» user.dir ");' и посмотреть, является ли каталог тем, где находится файл. Если нет, используйте 'getAbsolutePath()' – sam
@sam Ok, вот и все. Действительно странно, как-то мой файл driver.java работает из совершенно другого проекта. Как это происходит? Какой-то настрой? Или просто ошибка пользователя с моей стороны? – bnr32jason
Проверьте [здесь] (http://stackoverflow.com/questions/1099300/whats-the-difference-between-getpath-getabsolutepath-and-getcanonicalpath). Он содержит много ответов, которые будут отвечать на ваш вопрос очень подробно, чем я могу ответить в комментариях. – sam