Как получить все файлы из определенной папки с помощью Java

#java #arrays #file #oop #location

#java #массивы #файл #ооп #Расположение

Вопрос:

Я пытаюсь создать игру памяти с 16 картами в Java Swing, я создал папку для всех необходимых изображений в папке рядом с самим Java-приложением:

(что C:Usersedwineclipse-workspaceA3 — Javasrceindopdracht1Plaatjes.java )

и папка Images, которая содержит 8 разных изображений:

C:Usersedwineclipse-workspaceA3 — Javasrceindopdracht1Изображения

Теперь я хочу дважды поместить все 8 изображений в массив, используя цикл for . По какой-то причине Java не распознает второй файл выше. Почему это так? Мой код:

 package eindopdracht1;

import java.io.*;

import javax.swing.*;

public class Plaatjes extends JButton {
    private File[] files = new File(
            System.getProperty("C:\Users\edwin\eclipse-workspace\A3 - Java\src\eindopdracht1\Images"))
                    .listFiles();
    private File[] afbeeldingen = new File[16];

    public Plaatjes() {

        for (int i = 1; i < files.length * 2; i = i   2) {
            afbeeldingen[i - 1] = files[i];
            afbeeldingen[i] = files[i];
            System.out.println(files[i]);
        }
    }
}
  

Комментарии:

1. Я бы предположил, что System.getProperty это не делает того, что вы думаете. Это определенно не сработает, указав путь к нему. File имеет конструктор, который принимает путь. Вы должны удалить System.getProperty часть.

2. Если бы ваш путь был сохранен в системном свойстве, тогда имело бы смысл использовать System.getProperty для извлечения пути из этого системного свойства, используя имя этого свойства.

Ответ №1:

вы должны изменить эти строки кода :

 private File[] files = new File(
            System.getProperty("C:\Users\edwin\eclipse-workspace\A3 -Java\src\eindopdracht1\Images"))
           .listFiles();
  

Для

 private File[] files = new File("C:\Users\edwin\eclipse-workspace\A3 - Java\src\eindopdracht1\Images").listFiles();