Задачи, алгоритм
- Найти файлы с расширением .xml в директории А
- удалить эти файлы
- найти файлы в директории Б
- скопировать файлы из директории Б в директорию А
- скопировать список файлов в файл files.txt
В этом посте описаны первые 2 шага.
Что ж, алгоритм понятен, переходим к кодингу. Лезем в гугль и вбиваем там "Java найти файлы в директории". Запрос лучше конечно без кавычек, иначе гугль будет искать точное совпадение, а нам это не с руки.
Сразу получаем результат - http://www.javatalks.ru/sutra23249.php
Этот код выдает список всех файлов, а нам надо только xml. Недолго думая, я решил просто выяснить расширение у полученных файлов.
Гугль выдает отличные результаты - http://blog.dimmduh.com/2011/05/java_19.html
Ну и в конце надо пройтись по списку и удалить найденные файлы. Для удаления сойдет код отсюда - http://www.roseindia.net/java/beginners/DeleteFile.shtml
В итоге получаем следующий код:
public class someclass {
private static void deletefile(String file){
File f1 = new File(file);
boolean success = f1.delete();
if (!success){
System.out.println("Deletion failed.");
System.exit(0);
}else{
System.out.println("File deleted.");
}
}
public static String getFileExtention(String filename){
int dotPos = filename.lastIndexOf(".") + 1;
return filename.substring(dotPos);
}
public static void main(String[] args) {
String list[] = new File("C:\\files\\").list();
for(int i = 0; i < list.length; i++)
{
String fileext = getFileExtention(list[i]);
if (fileext.equalsIgnoreCase("xml")) // тогда удалить файл
deletefile("C:\\files\\"+list[i]);
}
}
}
PS. Сначала я пытался сделать проверку fileext == "xml", но это не прокатило. Со строками лучше использовать функции equals.
Для копирования файлов я использовал метод copyfile отсюда - http://www.roseindia.net/java/beginners/CopyFile.shtml
А запись в файл - http://www.rte1.ru/softsamples/Java_WriteToFile.html
- Найти файлы с расширением .xml в директории А
- удалить эти файлы
- найти файлы в директории Б
- скопировать файлы из директории Б в директорию А
- скопировать список файлов в файл files.txt
В этом посте описаны первые 2 шага.
Что ж, алгоритм понятен, переходим к кодингу. Лезем в гугль и вбиваем там "Java найти файлы в директории". Запрос лучше конечно без кавычек, иначе гугль будет искать точное совпадение, а нам это не с руки.
Сразу получаем результат - http://www.javatalks.ru/sutra23249.php
Этот код выдает список всех файлов, а нам надо только xml. Недолго думая, я решил просто выяснить расширение у полученных файлов.
Гугль выдает отличные результаты - http://blog.dimmduh.com/2011/05/java_19.html
Ну и в конце надо пройтись по списку и удалить найденные файлы. Для удаления сойдет код отсюда - http://www.roseindia.net/java/beginners/DeleteFile.shtml
В итоге получаем следующий код:
public class someclass {
private static void deletefile(String file){
File f1 = new File(file);
boolean success = f1.delete();
if (!success){
System.out.println("Deletion failed.");
System.exit(0);
}else{
System.out.println("File deleted.");
}
}
public static String getFileExtention(String filename){
int dotPos = filename.lastIndexOf(".") + 1;
return filename.substring(dotPos);
}
public static void main(String[] args) {
String list[] = new File("C:\\files\\").list();
for(int i = 0; i < list.length; i++)
{
String fileext = getFileExtention(list[i]);
if (fileext.equalsIgnoreCase("xml")) // тогда удалить файл
deletefile("C:\\files\\"+list[i]);
}
}
}
PS. Сначала я пытался сделать проверку fileext == "xml", но это не прокатило. Со строками лучше использовать функции equals.
Для копирования файлов я использовал метод copyfile отсюда - http://www.roseindia.net/java/beginners/CopyFile.shtml
А запись в файл - http://www.rte1.ru/softsamples/Java_WriteToFile.html
Создать файл:
ОтветитьУдалитьf=new File("\\dir\\file.txt");
if(!f.exists()) f.createNewFile();
Записать файл:
PrintWriter zzz = null;
try
{
zzz = new PrintWriter(new FileOutputStream("/dir/my_test_file"));
}
catch(FileNotFoundException e)
{
// System.out.println("Ошибка открытия файла my_test_file.txt");
// System.exit(0);
}
zzz.println("Start process");
zzz.close();
//!----------- записать в файл //
удаляет файлы то ? или нет?
ОтветитьУдалить