Как считать данные из текстового файла в массив?

783
27 января 2017, 05:40

Добрый день. Сейчас имеется массив папок исходников:

Path[] paths = new Path[4];
paths[0] = Paths.get("\\\\komp\\D$\\logs");
paths[1] = Paths.get("\\\\komp\\D$\\logs2");
paths[2] = Paths.get("\\\\komp\\D$\\logs3");
paths[3] = Paths.get("\\\\komp\\D$\\logs4");

и одна папка получатель:

Path target = Paths.get("D:\\MyLogs\\");

Есть файл Setting.txt, где содержаться эти пути построчно:

\\\\komp\\D$\\logs
\\\\komp\\D$\\logs2
\\\\komp\\D$\\logs3
\\\\komp\\D$\\logs4
D:\\MyLogs

Прошу показать, как сделать чтение этих строк из файла и подставить в мой код, что бы было что-то вроде:

Path[] paths = new Path[4];
paths[0] = Paths.get("Первая строка из файла Setting.txt");
paths[1] = Paths.get("Вторая строка из файла Setting.txt");
paths[2] = Paths.get("Третья строка из файла Setting.txt");
paths[3] = Paths.get("Четвёртая строка из файла Setting.txt");

и одна папка получатель:

Path target = Paths.get("Пятая строка из файла Setting.txt");
Answer 1

Вам нужно просто считать файл построчно. Вот как можно реализовать:

// метод возвращает строки из файла в массиве String[]
// fileName - имя файла
// linesAmount - кол-во. строк, которые необходимо считать из файла (в вашем случае - 5)
public String[] getLinesFromFile(String fileName, int linesAmount) {
    String[] lines = new String[linesAmount];
    try (BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream(fileName), Charset.forName("КОДИРОВКА_ВАШЕГО_ФАЙЛА")))) {
        String line;
        int i = 0;
        while ((line = reader.readLine()) != null && i < linesAmount) {
            lines[i++] = line;
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return lines;
}

Теперь в вашем коде:

String[] lines = getLinesFromFile("Setting.txt", 5);
Path[] paths = new Path[4];
paths[0] = Paths.get(lines[0]);
paths[1] = Paths.get(lines[1]);
paths[2] = Paths.get(lines[2]);
paths[3] = Paths.get(lines[3]);
Path target = Paths.get(lines[4]);
Answer 2

я так понял тебе надо прочитать и записать их в массив? вот код:где value это номер строки;rail путь до файла;MaxInt это максимальное
число читаемых строк;все проверил,работает!

||---------------------------------------------------||

import java.io.BufferedReader; import java.io.File; 
import java.io.FileNotFoundException; import java.io.FileReader; 
import java.io.IOException;
public class НовыйClass { public static String rail =           
"C://Setting.txt"; public static int MaxInt = 6; public static
String    ReadLocal (int value) throws FileNotFoundException,
IOException{
       File  Setting = new File(rail);
       FileReader reader = new FileReader(Setting);
       BufferedReader br = new BufferedReader(reader);
       String b = br.readLine();
       byte i = 0;
       while (i < value-1) {            
       b = br.readLine();
       i++;
           if (i-1 == value-1) {
       return b;
           }
       }
       br.close();
       reader.close();
       return b;    }
       //и второй отрывок кода,будет помещать прочтенное в      массив.
       public static void AddArray() throws
       IOException{    String[] OutPut = new String[MaxInt];    for (int i
        = 0; i < MaxInt; i++) {    OutPut[i] = ReadLocal(i);    }    
        System.out.println(OutPut[1]+ "\n" +
                      OutPut[2]+ "\n" +
                      OutPut[3]+ "\n" +
                      OutPut[4]+ "\n" +
                      OutPut[5]+ "\n"); } } '

||---------------------------------------------------|| удачи!

READ ALSO
RxJava 2 - повторная подписка на буфер

RxJava 2 - повторная подписка на буфер

Есть созданный Flowable без оберток:

420
Как юзать либу MaterialDrawer [требует правки]

Как юзать либу MaterialDrawer [требует правки]

Мне надо реализовать навигацию между активностями с помощью бокового менюНашёл библиотеку MaterialDrawer, но не пойму как это сделать

466
Нужна помощь с jsoup

Нужна помощь с jsoup

Здравствуйте,разбираюсь с jsoup хочу распарсить сайт в котором есть класс родитель и в нем несколько нужных подкласов,как получить в Elements эти...

359
java загрузка изображения при помощи FileChooser

java загрузка изображения при помощи FileChooser

мне нужно загрузить изображение при помощи FileChooser

365