Добрый день. Сейчас имеется массив папок исходников:
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");
Вам нужно просто считать файл построчно. Вот как можно реализовать:
// метод возвращает строки из файла в массиве 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]);
я так понял тебе надо прочитать и записать их в массив? вот код:где
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"); } } '
||---------------------------------------------------|| удачи!
Продвижение своими сайтами как стратегия роста и независимости