Java-Datei in Ordner Kopieren

mein_c_tut_w

Mitglied
Hallo ihr Java-Freaks,

ich programmiere jetzt ca. 1 Jahr mit Java und stoße nun auf folgendes Problem:
ich habe ein kleines Java Programm geschrieben und möchte nun, dass dieses unter Windows in einem bestimmten Ordner nach dem Ausführen eine Kopie erstellt.
Kann mir bitte jemand eine genaue Antwort zu diesem Problem geben, so dass man diese versteht?

Gruß
 

konze

Mitglied
Wie wäre es wenn du in dein Programm ein Runtime.exec() integrierst welches dann den Kopierbefehl der Windows Eingabeaufforderung ausführt.

Java:
Runtime run = Runtime.getRuntime();
Process proc = run.exec("copy ...");
 

mein_c_tut_w

Mitglied
leider habe ich noch nicht mit der runtime-Klasse gearbeitet.
wie lautet der import dafür?
wenn ich den Text den du gepostet hast einfühe wird an diesen Pfad ohne weiteres eine Kopie erstellt?
 

konze

Mitglied
Ein bisschen Google hilft oft Wunder.

Google: "runtime.exec() example"

und schon wird man fündig, ich habe mal frei kopiert von Runtime getRuntime() exec(String command) - How does this work? (Java in General forum at JavaRanch):

Java:
import java.io.*;  

public class TestExec {  
    public static void main(String[] args) {  
        try {  
            Process p = Runtime.getRuntime().exec("Dir");  
            BufferedReader in = new BufferedReader(  
                                new InputStreamReader(p.getInputStream()));  
            String line = null;  
            while ((line = in.readLine()) != null) {  
                System.out.println(line);  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}

Diese Programm verwendet den Befehlt "Dir" und zeigt dir den Inhalt des Ordners an in dem du dich befindest.

Eine Befehlsübersicht für die Eingabeaufforderung findest du hier: CMD Befehle Überblick Batch Befehle Windows
 
T

trääät

Gast
1) was genau ist die frage ?
2) wobei hast du probleme ?
3) @konze : super ... über java system-commands nutzen ... 6, setzen
 

mein_c_tut_w

Mitglied
also bei mir funktioniert das leider nicht....
ich habe es so gemacht (nicht wundern ist eine einfache GUI Klasse)

Java:
package newpackage;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Laurin
 */
import java.io.*;
public class NewJFrame extends javax.swing.JFrame {

    /**
     * Creates new form NewJFrame
     */
    public NewJFrame() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 48)); // NOI18N
        jLabel1.setText("Hallo Welt");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(95, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addGap(90, 90, 90))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(125, 125, 125)
                .addComponent(jLabel1)
                .addContainerGap(161, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        


    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see [url=http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html]How to Set the Look and Feel (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel)[/url] 
         */
        try {  
            Process p = Runtime.getRuntime().exec("Dir");  
            BufferedReader in = new BufferedReader(  
                                new InputStreamReader(p.getInputStream()));  
            String line = null;  
            while ((line = in.readLine()) != null) {  
                System.out.println(line);  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        }        
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JLabel jLabel1;
    // End of variables declaration                   
}

[/Java]
 

mein_c_tut_w

Mitglied
ich hab mal etwas gegoogelt und gelesen man soll in der cmd das xcopy-Kommando benutzen.
Java:
package newpackage;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Laurin
 */
import java.io.*;
public class NewJFrame extends javax.swing.JFrame {

    /**
     * Creates new form NewJFrame
     */
    public NewJFrame() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 48)); // NOI18N
        jLabel1.setText("Hallo Welt");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(95, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addGap(90, 90, 90))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(125, 125, 125)
                .addComponent(jLabel1)
                .addContainerGap(161, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        


    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see [url=http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html]How to Set the Look and Feel (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel)[/url] 
         */
     [B]   try {  
            Process p = Runtime.getRuntime().exec("xcopy file:///C:/Users/Laurin/Desktop/NeuesTextdokument.txt file:///C:/Users/Laurin/Videos/NeuesTextdokument.txt /s");  
            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));  
            String line = null;  
            while ((line = input.readLine()) != null) {  
                System.out.println(line);  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        }        [/B]
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JLabel jLabel1;
    // End of variables declaration                   
}

mein Vorhaben noch mal etwas genauer: ich möchte, das die Datei NeuesTextdokument.txt vom Desktop in den Ordner Eigene Videos kopiert wird. aber es funktioniert irgendwie nicht!
 

Momolin

Aktives Mitglied
Hi,

folgendes ist eine Möglichkeit:
Java:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileCopy {

	public static void main(String[] args) throws IOException {
		Path quelle = Paths.get("C:/Users/UserName/Desktop/Neues Textdokument.txt");
		Path ziel = Paths.get("C:/Users/UserName/Videos/videos.txt");
		Files.copy(quelle, ziel);
	}
}
Grüße
 

mein_c_tut_w

Mitglied
OK, so weit so gut...
mein eigentliches Ziel habe ich bis jetzt aber nur halb erreicht, ich kann die datei in den Systemstart kopieren, aber dort wird sie dann nur bei meiner Anmeldung geladen. Gibt es eine Möglichkeit damit die Anwendung bei allen Benutzern läd?
 
T

trääät

Gast
kommt aufs system an ... grundsätzlich aber kann man in der registry den global autostart nutzen ... weis nur nicht in wie weit man da ohne admin-rechte ran kommt ...

@konze
nein ... geht es nicht ... denn alleine die tatsache das man eine java-klasse schreibt die nichts weiter macht als über n processbuilder einen system-befehl called zeigt das man java nicht verstanden hat ...
wenn man mit system-befeheln rumspielen will .. bitte ... aber dann auch dort wo es hingehört : BAT bzw SH ...
java selbst bietet einiges was selbst die PowerShell und einige unix-shells in den schatten stellt ... und wenn man das mal mit voller absicht ignoriert und das so auch noch anderen unterjubeln will sollte man es echt einfach lassen ... und auf sowas müssen scheinbar persönlichkeiten wie mit entsprechenden texten drauf hingewiesen werden ...
wenn du also nichts weiter zu bringen hast außer deine kleinen script-kiddie-batch-codes dann solltest du anderen die "richtig" programmieren mit java lernen wollen das nicht auch noch vorsetzen ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Developer_X Java File listet den Ordner, in dem sich die Datei befindet Java Basics - Anfänger-Themen 7
G Java Datei aus anderm Ordner aufrufen Java Basics - Anfänger-Themen 2
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
S In Datei schreiben in Java? Java Basics - Anfänger-Themen 1
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
nbergmann Installation unter jdk.java.net: Keine ZIP-Datei zum entpacken Java Basics - Anfänger-Themen 2
Kotelettklopfer Sqlite DB aus Java Datei ansprechen. Java Basics - Anfänger-Themen 147
L Java erstellt leere Datei Java Basics - Anfänger-Themen 8
W Java in Exe Datei umgewandelt, Ressourcen fehlen (Bilder und Audiodateien) Java Basics - Anfänger-Themen 1
N Java CSV Datei auslesen Java Basics - Anfänger-Themen 6
S Verbindung von einer Excel Datei zu Java-- Java Basics - Anfänger-Themen 4
M Java: BufferedReader liest nur die Hälfte der Text-Datei. Java Basics - Anfänger-Themen 4
J Java Datei als exe weitergeben Java Basics - Anfänger-Themen 3
A .txt-Datei mit Java speichern Java Basics - Anfänger-Themen 2
M Java Mysql ausführbare datei Java Basics - Anfänger-Themen 7
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
L Wie kann man fehlerfrei im Java Code auf die fxml Datei zugreifen? Java Basics - Anfänger-Themen 26
K Schlüsselworte Nach Java update findet mdb Datei nicht Java Basics - Anfänger-Themen 6
diqqerrr Java Datei als .exe ausführen Java Basics - Anfänger-Themen 8
T class Datei auslesen Java Java Basics - Anfänger-Themen 5
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
A Java-Datei refaktorieren Java Basics - Anfänger-Themen 3
M In einer Datei schreiben - Java Java Basics - Anfänger-Themen 3
O Javac findet die .java datei nicht Java Basics - Anfänger-Themen 2
F PDF Datei in Java einbinden Java Basics - Anfänger-Themen 22
S .java Datei in java Datei ausführen Java Basics - Anfänger-Themen 9
J Java Datei lässt sich nicht kompilieren Java Basics - Anfänger-Themen 3
J Java - Abspielen einer wav Datei Java Basics - Anfänger-Themen 2
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
I Klassen Mehrere Java Klassen in einer .java Datei Java Basics - Anfänger-Themen 7
1 Im Java Projekt eine txt datei einbinden? Java Basics - Anfänger-Themen 8
J Eingabeaufforderung stürzt ab (beim Ausführen einer Java-Datei) Java Basics - Anfänger-Themen 3
D Lesen aus Datei (java.util.NoSuchElementException) Java Basics - Anfänger-Themen 22
G Input/Output CSV-Datei über Java-Programm erstellen, Zeichensalat Java Basics - Anfänger-Themen 3
Z Java txt Datei erstellen lassen Java Basics - Anfänger-Themen 6
0 Über CMD die JAVA Datei ausführen? möglich? Java Basics - Anfänger-Themen 8
M Java Datei soll sich selbst löschen Java Basics - Anfänger-Themen 8
M Datei starten mit Java Java Basics - Anfänger-Themen 3
B Datei in Java einlesen Java Basics - Anfänger-Themen 13
D java Datei ausführen? Java Basics - Anfänger-Themen 4
Fab1 alte Java Datei wird ausgeführt (trotz Änderung) Java Basics - Anfänger-Themen 4
S .jar/java Datei ausführen Windows 7 64bit?! Java Basics - Anfänger-Themen 7
E Java Datei erstellen? :) Java Basics - Anfänger-Themen 3
U Java datei ausführen[Fehler] Java Basics - Anfänger-Themen 5
M Datei in java Öffnen Java Basics - Anfänger-Themen 9
P .class Datei direkt starten (optional Java Datei direkt starten) Java Basics - Anfänger-Themen 13
P Java Datei ohne Netbeans ausführen Java Basics - Anfänger-Themen 7
U neue Java-Datei öffnen Java Basics - Anfänger-Themen 10
S JTabbedPane jeder Tab in einer eigenen java Datei? Java Basics - Anfänger-Themen 3
A CMD findet die java.class Datei nicht Java Basics - Anfänger-Themen 46
Maxim6394 Java Datei ausführen Java Basics - Anfänger-Themen 9
D Input/Output Zeilen aus txt-datei in Java-Liste einfügen Java Basics - Anfänger-Themen 9
H java datei ausführen funktioniert nicht Java Basics - Anfänger-Themen 7
P Java Object das eine HTML Datei repräsentiert Java Basics - Anfänger-Themen 19
E PHP Datei mittels Java aufrufen? Java Basics - Anfänger-Themen 3
L Input/Output Datei in Java einlesen Java Basics - Anfänger-Themen 9
K Klasse in eingener *.java-Datei Java Basics - Anfänger-Themen 5
A Wie mit Java eine .vbs Datei starten lassen? Java Basics - Anfänger-Themen 4
D Java Applet in einer .jar datei Java Basics - Anfänger-Themen 2
U Java .txt datei öffnen Java Basics - Anfänger-Themen 3
achillesat aus .java in ascii datei Java Basics - Anfänger-Themen 12
H java programm per batch datei öffnen Java Basics - Anfänger-Themen 4
K OOP Macro (.vba-Datei) aus Java Java Basics - Anfänger-Themen 2
C Datei kopieren - Erweiterung java.io.File Java Basics - Anfänger-Themen 2
A Java Datei in Applet umwandeln Java Basics - Anfänger-Themen 4
C *.java Datei nach Doppelklick mit VM ausführen Java Basics - Anfänger-Themen 29
Jats Java-Datei mit unbestimmten Variablen Java Basics - Anfänger-Themen 29
3 Eine HTML Datei in eine Java Datei umschreiben Java Basics - Anfänger-Themen 23
W [Java Archive (JAR) Datei erstellen] Lässt sich nicht ausfürhren Java Basics - Anfänger-Themen 7
M java neue datei erstellen Java Basics - Anfänger-Themen 6
P mit java text-datei auslesen und weiter bearbeiten Java Basics - Anfänger-Themen 3
Developer_X Datei downloaden mit Java (.zip) Java Basics - Anfänger-Themen 19
M lokale exe-Datei über Java-Applet starten Java Basics - Anfänger-Themen 4
L Datei aus Java in anderem Programm öffnen Java Basics - Anfänger-Themen 23
N Java Programm soll Datei in eigene jar schreiben Java Basics - Anfänger-Themen 13
X Java txt datei auslesen Java Basics - Anfänger-Themen 10
T Java Webstart soll eine Datei speichern Java Basics - Anfänger-Themen 2
Knizz Java-Datei über cmd öffnen Java Basics - Anfänger-Themen 29
M Datei mit Java für Programm öffnen Java Basics - Anfänger-Themen 10
B Java Datei unter Solaris kompilieren Java Basics - Anfänger-Themen 2
Developer_X HTML Datei nicht von Java Lesbar Java Basics - Anfänger-Themen 8
H Große Projekte mit Java - Ausführbare Datei Java Basics - Anfänger-Themen 2
M Delphi-Record mit Java aus Datei lesen Java Basics - Anfänger-Themen 11
E Habe java. Datei wie ausführen ? Java Basics - Anfänger-Themen 9
2 Mit Java in eine WORD-Datei schreiben Java Basics - Anfänger-Themen 18
M .java als ausführende Datei Java Basics - Anfänger-Themen 2
Q java.util.loggging neue datei erstellen Java Basics - Anfänger-Themen 3
G *.java Datei mit Editor starten und testen Java Basics - Anfänger-Themen 6
K Java Application mit Batch-datei starten Java Basics - Anfänger-Themen 9
O Text von Homepage via Java auslesen und in Text Datei speich Java Basics - Anfänger-Themen 1
G Datei mit Java anlegen Java Basics - Anfänger-Themen 9
J Ein Java-Programm in eine *.exe Datei 'packen' Java Basics - Anfänger-Themen 20
S Datei mit Java-Applikation an Web-Formular schicken Java Basics - Anfänger-Themen 9
G Datei in Java umbenennen Java Basics - Anfänger-Themen 4
K Wieviele Befehle pro .java Datei Java Basics - Anfänger-Themen 4
K aus Java Programme Jar.datei erstellen (eclipse) Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben