Сохранение массива в нескольких txt файлах в зависимости от их содержимого в Java - PullRequest
1 голос
/ 06 мая 2020
• 1000 или 1) следующим способом
saveAlbums(tabA);//call for the method inside the main method


public static void saveAlbums ( Album[] tab){


}

Любая помощь приветствуется!

Ответы [ 3 ]

1 голос
/ 06 мая 2020

Не совсем уверен, о чем вы спрашивали, но вот подробности.

private static saveAlbums(Album[] albums) {
    List<Album> zeroList = new ArrayList<>();
    List<Album> oneList = new ArrayList<>()

    for (Album album : albums) {
        if (album != null) {
            if (album.getValueNumberFive() == 0) {
                zeroList.add(album);
            } else {
                oneList.add(album);
            }
        }
    }

    writeFile("Album-Zero.txt", zeroList);
    writeFile("Album-One.txt", oneList);
}

public static void writeFile(String filename, List<Album> albumList) {
    Writer output = null;
    File resultFile = new File(filename);
    try {
        output = new BufferedWriter(new FileWriter(resultFile));
        for (Album album : albumList) {
            output.write(album.toString());
        }
        output.flush();
    } catch (IOException e) {
        throw new SystemException(e);
    } finally {
        safeClose(output);
    }
}
1 голос
/ 06 мая 2020

Вам нужно перебрать элементы вкладки и увидеть природу 5-го элемента с помощью геттера, чтобы решить, какой текстовый файл, например:

public static void saveAlbums ( Album[] tab){
for(Album t : tab){
   if ( t.getyourelement() == 1 ) // save in your first txt file
   if ( t.getyourelement() == 0 ) // save in your second txt file
}
}
0 голосов
/ 06 мая 2020

Это можно сделать следующим образом:

public static void saveAlbums (Album[] tab) {
    // Iterate tab[]
    for(Album album : tab){
        if(album.getFifthElement() == 0) {
            saveInFile(path-of-file1, album);
        } else if(album.getFifthElement() == 1) {
            saveInFile(path-of-file2, album);
        }
    }
}
public static void saveInFile (String path, Album album) {
    BufferedWriter writer = new BufferedWriter(new FileWriter(path));
    writer.write(album.toString());
    writer.close();
}

Где getFifthElement() - получатель пятого элемента в Album.

...