Добрый день!
Не могу сдвинуться с мертвой точки, валидатор ругается на 2 и 4 пункты(связанные с потоками). Проблема в том ,что потоки обернуты в try catch with resourses и поэтому я не понимаю, что с этими пунктами не так.
Помогите свежим взглядом!
Заранее спасибо)
package com.javarush.task.task31.task3101;
import java.io.*;
/*
Проход по дереву файлов
*/
public class Solution {
public static void main(String[] args) throws IOException{
String path = /*"F:/JavaRush/Test";*/ args[0];
String resultFileAbsolutePath = /*"F:/JavaRush/resultFileAbsolutePath";*/ args[1];
File oldFile = new File(resultFileAbsolutePath);
File newFile = new File(oldFile.getParent() + "/" + "allFilesContent.txt");
if(FileUtils.isExist(oldFile)) {
if(FileUtils.isExist(newFile)) {
FileUtils.deleteFile(newFile);
}
FileUtils.renameFile(oldFile, newFile);
}
new Solution().method_One(path, newFile) ;
}
void method_One(String file_Path, File newFile) throws IOException {
File firstDirectory = new File(file_Path);
File[]listFiles = firstDirectory.listFiles();
for (File file : listFiles) {
if (file.getAbsoluteFile().isFile()) {
if (file.length() <= 50 & file.length()!=0) {
method_Two(file.getPath(), newFile);
}
} else {
method_One(file.getPath(), newFile);
}
}
}
void method_Two(String file_Path, File writeFile) throws IOException {
try (FileReader inputStream = new FileReader(file_Path); FileWriter outputStream = new FileWriter(writeFile,true)) {
int i;
while((i = inputStream.read()) != -1) {
outputStream.write((char) i);
}
outputStream.write('\n');
}catch (IOException ioException) {
ioException.printStackTrace();
}
}
}