Что вы подразумеваете под "файл в затмении"?Это в папке ресурсов?Какова структура вашего проекта?
Если у вас была следующая структура:
MyProject/src/main/java/analysis/ResourceReader.java
MyProject/src/main/resources/text.txt
Тогда вы можете получить доступ к файлу text.txt с помощью следующей функции (передайте имя файла какпараметр этой функции):
private static Reader getReaderFromResource(String resourceName) {
URL resource = ResourceReader.class.getClassLoader().getResource(resourceName);
URL url = Objects.requireNonNull(resource);
String decodedStr = URLDecoder.decode(url.getFile(), "UTF-8");
return new FileReader(new File(decodedStr));
}
Затем вы можете заполнить конструктор BufferedReader экземпляром, полученным при выполнении этого метода (не забывайте об обработке исключений!), и в конечном итоге прочитать файл построчно.
РЕДАКТИРОВАТЬ
Итак, увидев, что вы пытаетесь сделать, я бы сказал следующее:
Создайте проект (лучшим будет проект maven).), так что у вас есть структура, похожая на ту, что я уже описал.Хорошей практикой является размещение ресурсов в отдельной папке в проекте, не разделенной где-либо на вашем диске.
Этот код требует некоторого рефакторинга, но я не обращаюсь к нему в этом ответе, радипростота.
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
BagBase bb = new BagBase();
System.out.println("Please enter items into the bag: ");
try {
start();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void start() throws FileNotFoundException {
BagBase bb = new BagBase();
Scanner sc = new Scanner(System.in);
String wow;
List<String> dataFromFile = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(getReaderFromResource("shoppingList"))) {
String currentLine = null;
while ((currentLine = reader.readLine()) != null) {
System.out.println(currentLine); // prints content of a file, just for the record
dataFromFile.add(currentLine);
}
bb.setBag(dataFromFile);
} catch (Exception e) {
e.printStackTrace();
}
}
private static Reader getReaderFromResource(String resourceName) throws FileNotFoundException, UnsupportedEncodingException {
URL resource = test.class.getClassLoader().getResource(resourceName);
URL url = Objects.requireNonNull(resource);
String decodedStr = URLDecoder.decode(url.getFile(), "UTF-8");
return new FileReader(new File(decodedStr));
}
}