Постоји много задатака који се понављају које ћете можда морати да извршите с времена на време. Један пример је ако морате редовно да мењате датотеке на вашем локалном рачунару. Ове радње могу укључивати копирање, премештање, брисање или архивирање датотека.

Уместо да ручно довршавате ове задатке који се понављају, можете их аутоматизовати помоћу програма. То можете да урадите помоћу једне датотеке скрипте, користећи један од многих доступних програмских језика, као што је Јава.

Како да подесите Јава апликацију

Прво, уверите се да имате Орацлеов Јава СЕ развојни комплет инсталиран. Затим направите једноставну апликацију Јава конзоле:

  1. Направите датотеку било где на рачунару под називом СимплеСцрипт.јава.
  2. Отворите датотеку у уређивачу текста или ИДЕ.
  3. На врху датотеке увезите класу ИОЕкцептион. Ово ће вам омогућити да рукујете изузецима везаним за датотеку или ИО када покушавате да извршите одређене функције, као што је копирање датотеке.
    увоз јава.ио. ИОЕкцептион;
  4. Испод, додајте главна Јава класа анд тхе главни методом. Главни метод ће се покренути када покренете апликацију. За сада само одштампајте поруку да бисте били сигурни да програм ради исправно. Након овога, можете заменити садржај главне функције са било којим од следећих примера да бисте их тестирали.
    класаСимплеСцрипт{ 
    јавностистатичнапразнинаглавни(Стринг аргс[])баца ИОЕкцептион {
    Систем.оут.принтлн("Једноставна конзолна апликација");
    }
    }
  5. Да бисте покренули скрипту, почните коришћењем командне линије за навигацију до локације ваше јава датотеке. На пример, ако сте сачували своју датотеку на радној површини, команда би била:
    цд Десктоп
  6. Сачувајте датотеку и користите јавац команду да га компајлирају. Сваки пут када унесете измене у датотеку, мораћете да је поново компајлирате са јавац.
    јавац СимплеСцрипт.јава
  7. Покрените апликацију:
    јава СимплеСцрипт

Како приступити локалним датотекама на рачунару

Можете користити класу Филе за програмски приступ датотекама у директоријуму.

  1. Креирајте нови фолдер под називом НевДирецтори, у истом директоријуму као и ваша јава датотека. Направите неке датотеке унутар њега—могу бити празне текстуалне датотеке ако желите.
  2. На врху ваше Јава апликације увезите класу Филе. Ово ће вам омогућити приступ одређеним методама и другим функцијама које се односе на ОС датотеке и директоријуме.
    увоз јава.ио. Филе;
  3. Креирајте нови објекат датотеке користећи релативну путању до ваше нове фасцикле.
    Директоријум датотека = Нова Фајл("Нови именик");
  4. Користите функцију листФилес() да бисте приступили листи свих датотека у том директоријуму.
    Датотека[] листОфФилес = дирецтори.листФилес();

    за (Датотека: листОфФилес) {
    Систем.оут.принтлн (датотека);
    }

  5. Поново компајлирајте и покрените програм користећи јавац и јава команде.

Како копирати датотеке на другу локацију

Постоји више начина на које можете копирати датотеке. Уобичајен начин за копирање датотека (нарочито пре Јава 7 и пакета јава.нио.филе) је коришћење класа ФилеИнпутСтреам или ФилеОутпутСтреам.

  • Тхе ФилеИнпутСтреам цласс вам омогућава да отворите улазни ток за читање бајтова из датотеке.
  • Тхе ФилеОутпутСтреам цласс вам омогућава да отворите излазни ток за писање бајтова у датотеку.

Када копирате датотеке, идеја је да отворите улазни и излазни ток. Користећи те токове, прочитаћете бајтове датотеке на изворној локацији, а затим уписати те бајтове на нову локацију.

Овај пример ће користити новију имплементацију за копирање датотека, коришћењем функције цопи() из класе Филес пакета јава.нио.филе. Да бисте користили пакет јава.нио.филе, морате имати инсталирану Јава 7 или новију верзију.

  1. На врху датотеке увезите класе Филе и Патх из пакета јава.нио.филе.
    увоз јава.нио.филе. Фајлови;
    увоз јава.нио.филе. Путеви;
  2. Додајте нову датотеку под називом ФилеТоЦопи.ткт у истом директоријуму као и ваша јава датотека. У функцији маин() декларисајте релативну путању до те датотеке.
    Стринг цопиСоурце = "ФилеТоЦопи.ткт"; 
  3. Креирајте нову фасциклу под називом Нова фасцикла, да копирате датотеку у. Додајте релативну путању до одредишта у функцију маин().
    Стринг цопиДестинатион = "НевФолдер/ФилеТоЦопи.ткт";
  4. Користите методу цопи() да копирате датотеку са њеног извора на одредиште.
    покушати {
    Филес.цопи (Патхс.гет (цопиСоурце), Патхс.гет (цопиДестинатион));
    } улов(Изузетак е) {
    Систем.оут.принтлн("Није могуће копирати датотеку са спецификацијама у: " + цопиДестинатион
    + ". Проверавати ако фасцикла или датотека већ постоји.");
    }
  5. Поново компајлирајте и покрените програм користећи јавац и јава команде.
  6. Отворите нову фасциклу да бисте потврдили да је програм копирао вашу датотеку.

Како преместити датотеке или фасцикле

Можете да преместите датотеке или фасцикле користећи потез() функцију у класи Филес, која је такође део пакета јава.нио.филе.

  1. Креирајте нову фасциклу под називом ДирецториТоМове у истој фасцикли као и ваша Јава датотека.
  2. Направите другу фасциклу под називом НевДирецтори у истом фолдеру. Ово је место где ће програм преместити оригиналну фасциклу.
  3. Направите објекте датотеке за директоријум који желите да преместите и локацију на коју желите да га преместите:
    Филе мовеСоурце = Нова Филе("ДирецториТоМове");
    Филе мовеДестинатион = Нова Филе("НевДирецтори/ДирецториТоМове");
  4. Користити Филес.мове() метод да преместите датотеку са извора на одредиште:
    покушати {
    Филес.мове (мовеСоурце.тоПатх(), мовеДестинатион.тоПатх());
    Систем.оут.принтлн("Именик је успешно премештен.");
    } улов (ИОЕкцептион ек) {
    ек.принтСтацкТраце();
    }
  5. Поново компајлирајте и покрените програм користећи јавац и јава команде.
  6. Отворите фасциклу НевДирецтори да видите да је фасцикла „ДирецториТоМове“ сада унутра.

Како избрисати датотеку

Можете користити делете() метод из класе Филе за брисање одређене датотеке.

  1. Креирајте датотеку под називом ФилеТоДелете.ткт. Сачувајте датотеку у истом фолдеру као и ваша Јава апликација.
  2. Направите нови објекат Филе за датотеку коју желите да избришете. Затим користите његов метод делете() да избришете датотеку. Метода делете враћа тачну или нетачну вредност, у зависности од тога да ли је брисање било успешно.
    Филе филеТоДелете = Нова Филе("ФилеТоДелете.ткт");

    ако (филеТоДелете.делете()) {
    Систем.оут.принтлн("Датотека је успешно избрисана.");
    } друго {
    Систем.оут.принтлн("Није могуће избрисати датотеку.");
    }

Како да зип датотеке

Постоји много начина на које можете креирати зип архиву који садржи неколико компримованих датотека. Овај пример ће користити ЗипОутпутСтреам и ЗипЕнтри класе.

  1. Увезите потребне класе ЗипОутпутСтреам, ЗипЕнтри и ФилеОутпутСтреам на врх датотеке.
    увоз јава.утил.зип. ЗипОутпутСтреам;
    увоз јава.утил.зип. ЗипЕнтри;
    увоз јава.ио. ФилеОутпутСтреам;
  2. Креирајте зип датотеку и листу зипЕнтри објеката који представљају текстуалне датотеке које желите да зипујете. Овај пример ће генерисати нове текстуалне датотеке, али можете касније да измените скрипту да бисте укључили текстуалне датотеке које већ постоје.
    Фајл зипФиле = Нова Филе("ЗиппедФиле.зип");
    ЗипЕнтри[] зипЕнтриес = Нова ЗипЕнтри[] {Нова ЗипЕнтри("зипФиле1.ткт"),
    Нова ЗипЕнтри("зипФиле2.ткт"), Нова ЗипЕнтри("зипФиле3.ткт")};
  3. Креирајте зип излазни ток да бисте уписали податке у зип датотеку.
    ЗипОутпутСтреам оут = Нова ЗипОутпутСтреам(Нова ФилеОутпутСтреам (зипФиле));
  4. Додајте сваку датотеку у зип фасциклу и затворите стрим.
    за (ЗипЕнтри зипЕнтри: зипЕнтриес) {
    оут.путНектЕнтри (зипЕнтри);

    СтрингБуилдер сб = Нова СтрингБуилдер();
    сб.аппенд("Садржај унутар текстуалне датотеке");

    бајт[] дата = сб.тоСтринг().гетБитес();
    оут.врите (подаци, 0, дата.ленгтх);
    оут.цлосеЕнтри();
    }

    оут.цлосе();

  5. Поново компајлирајте и покрените програм користећи јавац и јава команде. Видећете да се нова зип фасцикла појављује у вашем директоријуму датотека.

Аутоматизација једноставних задатака помоћу Јаве

Можете користити скрипту за програмски довршавање задатака менаџера датотека који се понављају. Ови задаци укључују приступ, копирање, премештање, брисање и компримовање датотека.

Други начин на који можете да аутоматизујете задатке који се понављају је коришћење системских команди у датотеци скрипте. На Линук-у и мацОС-у такве датотеке су познате као схелл скрипте, док их Виндовс назива групним скриптама.