Привет, собственно написал код программы, выполняющей следующее - пользователь пишет путь *.txt файлу, программа высчитывает сколько в документе строк, выводит количество строк на экран + создает файл *.txt в котором так же записывает количество строк. Вот код, пользуйтесь:
public class GetStrings {
public static void main(String[] args) {
System.out.println("Введите абсолютный путь к файлу: ");
Scanner scanner = new Scanner(System.in);
String inputValue = scanner.next();
String n = inputValue;
try {
File myFile = new File(n);
FileReader fileReader = new FileReader(myFile);
LineNumberReader lineNumberReader = new LineNumberReader(fileReader);
int lineNumber = 0;
while (lineNumberReader.readLine() != null) {
lineNumber++;
}
System.out.println(lineNumber);
lineNumberReader.close();
String lineNumber1 = String.valueOf(lineNumber);
File newFile = new File("d:\\myFile.txt");
FileWriter fileWriter = new FileWriter(newFile);
fileWriter.write(lineNumber1 + " Строк в файле: " + n);
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
А теперь надумал сделать так, чтобы пользователь писал директорию, программа просматривала директорию на наличие файлов расширения *.txt и считала строки в каждом из документов, выводило все значения на экран и так же записывало их в новый файл *.txt. Написал код на считывания файлов в директории но не могу из вытащить каждую переменную файла в директории, что-бы посчитать количество строк. Вот наработка, но как её соединить, помогите)) :
public class Blabla {
public static void main(String[] args) {
System.out.println("Введите абсолютный путь: ");
Scanner scanner = new Scanner(System.in);
String inputValue = scanner.next();
String n = inputValue;
File folder = new File(n);
final String[] extension = {".txt"};
String[] files = folder.list(new FilenameFilter() {
@Override public boolean accept(File folder, String name) {
for(String ext : extension)
if(name.toLowerCase().endsWith(ext)) return true;
return false;
}
});
for(String fileName : files)
try {
FileReader fileReader = new FileReader(fileName);
LineNumberReader lineNumberReader = new LineNumberReader(fileReader);
int lineNumber = 0;
while (lineNumberReader.readLine() != null) {
lineNumber++;
}
System.out.println(lineNumber);
lineNumberReader.close();
String lineNumber1 = String.valueOf(lineNumber);
File newFile = new File("d:\\myFile.txt");
FileWriter fileWriter = new FileWriter(newFile);
fileWriter.write(lineNumber1 + " Строк в файле: " + n);
fileWriter.close();
System.out.println("File: " + fileName);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Свежие комментарии