🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
5 messages
5 total messages Started by Grzegorz Thu, 02 May 2013 06:11
Jak kasować w Java.
#153807
Author: Grzegorz
Date: Thu, 02 May 2013 06:11
119 lines
4341 bytes
W jaki sposób w Javie kasować pliki.
Napisałem program który wyświetla zawartość katalogów i kopiuje pliki o 
zadanym rozszerzeniu .rar z katalogu do katalogu.
W założeniu program miał przekopiować pliki .rar i później je skasować  z 
katalogu źródłowego . Próbowałem szukać rozwiązania w Google ale nie 
znalazłem rozwiązania tego problemu , proszę o podpowiedz jak wykasować 
pliki po skopiowaniu.

Wiem ze można to zrobić metodą delete z klasy File tylko nie wiem jak ?

import java.io.*;
import javax.swing.*;

public class Kopiuj extends JFrame

{
    String txt1 = "", txt2 = "";
    JLabel nazwa1, nazwa2;
    JTextArea tArea1, tArea2;
    byte[] bufor = new byte[1024];

    // Scieżli do katalogów
    String Katalog1 = "c:/test", Katalog2 = "c:/test2";

    //
    public static void main(String[] args)
    {
        Kopiuj kopjuj = new Kopiuj();
        kopjuj.setTitle("Kopiuj");
        kopjuj.setVisible(true);
    }

    public Kopiuj()
    {
        tArea1 = new JTextArea();
        tArea2 = new JTextArea();
        nazwa1 = new JLabel(Katalog1);
        nazwa2 = new JLabel(Katalog2);

        setLayout(null);
        setBounds(1, 1, 430, 400);

        add(tArea1);
        add(nazwa1);
        nazwa1.setBounds(1, 1, 100, 30);
        tArea1.setBounds(1, 30, 200, 340);

        add(tArea2);
        add(nazwa2);
        nazwa2.setBounds(210, 1, 100, 30);
        tArea2.setBounds(210, 30, 200, 340);

        File katalog1 = new File(Katalog1);
        String[] listaplikow1;
        listaplikow1 = katalog1.list();

        File katalog2 = new File(Katalog2);
        String[] listaplikow2;
        listaplikow2 = katalog2.list();

        FileInputStream strumienWejscia;
        FileOutputStream strumienWyjscia;
        for (int i = 0; i < katalog2.list().length; i++)
        {
            if (listaplikow2.length != 0)
            {
                txt2 = txt2 + listaplikow2[i] + "\n";
                tArea2.setText(txt2);
            } else
            {
                tArea2.setText("Brak plików w katalogu");
            }

        }
        if (listaplikow1.length != 0)
        {
            for (int i = 0; i < katalog1.list().length; i++)
            {

                try
                {
                    txt1 = txt1 + listaplikow1[i] + "\n";
                    tArea1.setText(txt1);

                    if (listaplikow1[i].endsWith(".rar"))

                    {
                        strumienWejscia = new FileInputStream(
                                katalog1.getAbsolutePath() + File.separator
                                        + listaplikow1[i]);
                        strumienWyjscia = new FileOutputStream(
                                katalog2.getAbsolutePath() + File.separator
                                        + listaplikow1[i]);
                        int k;
                        while ((k = strumienWejscia.read(bufor)) != -1)
                        {

                            strumienWyjscia.write(bufor, 0, k);

                        }

                    }
                } catch (FileNotFoundException e)
                {

                    e.printStackTrace();
                } catch (IOException e)
                {

                    e.printStackTrace();
                }
            }

        } else
        {
            tArea1.setText("Brak plików w katalogu");
        }
    }
} 
Re: Jak kasować w Java.
#153808
Author: Pawel Lampe
Date: Thu, 02 May 2013 15:05
9 lines
1380 bytes
Nie wiem czy rozważasz użycie do kasowania poleceń systemowych. Jeśli
tak, to może po prostu:

String command = "rm *.rar"; //dla linuxa
Process child = Runtime.getRuntime().exec(command);

String command = "del *.rar"; //dla windowsa, przy czym nie wiem czy to
zadziała bo nie znam się na tym dziadowskim systemie
Process child = Runtime.getRuntime().exec(command);
Re: Jak kasować w Java.
#153811
Author: TrzyLinie
Date: Sun, 05 May 2013 04:53
13 lines
1518 bytes
W dniu 2013-05-02 08:11, Grzegorz napisał(a):
> W jaki sposób w Javie kasować pliki.

java.nio.file.Files.delete(Path path)
java.nio.file.Files.deleteIfExists(Path path)

> Wiem ze można to zrobić metodą delete z klasy File tylko nie wiem jak ?

new File("plik.txt").delete() - ta metoda jest mniej uniwersalna niż
wymienione funkcje z klasy Files.

-- 
TrzyLinie
Re: Jak kasować w Java.
#153809
Author: TrzyLinie
Date: Sun, 05 May 2013 04:55
9 lines
1449 bytes
W dniu 2013-05-02 17:05, Pawel Lampe napisał(a):
> Nie wiem czy rozważasz użycie do kasowania poleceń systemowych. Jeśli
> tak, to może po prostu:

A tego to rozważać chyba nie warto w Javie. Wymieniłeś dwa systemy, a co
gdy zastany system nie będzie miał poleceń rm ani del tylko coś innego?

-- 
TrzyLinie
Re: Jak kasować w Java.
#153810
Author: Grzegorz
Date: Sun, 05 May 2013 18:48
1 lines
965 bytes
Dzięki. 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads