Treeset bestanden in je computer zetten.

Status
Niet open voor verdere reacties.

Netwerkschijfer

Gebruiker
Lid geworden
17 jun 2009
Berichten
6
Is het mogenlijk om alle files die in een treeset staan op je computer te laten plaatsen in een map? In de C map ofzow of in de D map.
 
Ja, maar je gaat toch iets concreter moeten zijn als je hulp wilt;)
 
Als je zelf de treeset gemaakt hebt, én je hebt de leesrechten voor alle bestanden dan kun je dit wel zelf maken. Je weet dan immers precies waar alle bestanden staan en dus kun je ze ook kopieren.
 
Wacht ik heb het niet goed gezegd.

Wat ik probeer is dat Java bestanden van mijn computer leest en in een treeset zet, wat is gelukt, en daarna ergens anders op mij computer plaatst. Bijvoorbeeld in mijn G schijf.

Dus dat ie bijvoorbeeld mij D schijf in de treeset zet en dan die bestanden in mijn D schijf zet.

Is dat mogelijk? Ik weet al hoe ik een treeste moet maken, maar niet hoe ik ervoor zorg dat mijn programma de bestanden kopieert. Kan dat wel? Kben best nieuw met Java. Kheb al heel veel gegoogled en ook een paar andere dingen dan treeset geporbeerd maar ik kan het niet vinden. =/
 
Zoek eens op 'java file copy', want dat is wat je eigenlijk wil hebben toch? Alle bestanden in je treeset van de D schijf naar je G schijf.

In je treeset staat nu de bronlocatie van alle bestanden. Dat kun je bij het kopieren gebruiken en hoef je dus alleen nog maar een doel op te geven.
 
de vraag is natuurlijk of je niet liever gewoon rechtstreeks je bestanden kopieert naar de ander drive (zonder ze in een treeset te plaatsen) maar anders ==>
PHP:
TreeSet<File> files = jouw TreeSet;

	public void writefiles() {
		int x = 0;
		for (File file : files) {
			x++;
			try {
				copyFile(file, "C:\\folder\\file"+x+".ext");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

    public static void copyFile(File oldFile, String newFileLocation) throws IOException {
    	DataOutputStream outputStream = null;
    	DataInputStream inputStream = null;
        try {
        	File file = new File(newFileLocation);
        	File folder = file.getParentFile();
        	if(folder.mkdirs()) {
	        	if (file.createNewFile()) {
	        		if (oldFile.isFile()) {
	        			inputStream = new DataInputStream(new BufferedInputStream(new FileInputStream(oldFile)));
	        			outputStream = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file)));
		        		byte[] buf = new byte[1024];
		                int i = 0;
		                while ((i = inputStream.read(buf)) != -1) {
		                	System.out.println("working");
		                	outputStream.write(buf, 0, i);
		                }
	        		}
	        		else {
	        			System.out.println("no file found!");
	        		}
	        	}
        	}

        } catch (Exception e) {
			e.printStackTrace();
		}
        finally {
            if (inputStream != null) inputStream.close();
            if (outputStream != null) outputStream.close();
        }
    }
Maar je zou dit idd al eens moeten tegengekomen zijn bij een zoektocht. Onthou, google is je vriend:love:
Als je dezelfde naam wilt behouden van de oorspronkelijke file verander je "C:\\folder\\file"+x+".ext" in "C:\\folder\\"+file.getName()
 
Laatst bewerkt:
Oh bedankt ik ga het proberen. =P

En ik had al dagen gegoogled voor ik dit vroeg.... Maarja ik deed vast iets fout bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan