dateiattribute

F

frank65742

Gast
hi.
ich wollte mit java eine bilddatei schreiben und ein paar dateiattribute verändern (autor, makierung und thema), konnte aber nicht herausfinden, wie ich diese attribute verändern kann.

kann mir bitte jemand helfen?
ty
 
F

frank65742

Gast
ok.
ich habe jetzt mal beispielcode von der velinkten seite genommen und mit ihm ein paar attribute hinzugefügt.
auch habe ich im explorer attribute verändert.

beim auslesen bekomme ich die folgende ausgabe:
Code:
    Size  Name
--------  --------------------------------------
       4  Autor
       9  Autoren

das sind nur die attribute, die ich mit java hinzugefügt habe.
die attribute die ich im explorer hinzugefügt habe (siehe bild) fehlen.



nun ist meine frage:
wie schaffe ich es die attribute, die im bild zu sehen sind, auszulesen und zu verändern?


der code:
Java:
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.nio.file.*;
import java.nio.file.attribute.*;
import java.io.IOException;

/**
 * Example code to list/set/get/delete the user-defined attributes of a file.
 */

public class Xdd{

    static void usage() {
        System.out.println("Usage: java Xdd <file>");
        System.out.println("       java Xdd -set <name>=<value> <file>");
        System.out.println("       java Xdd -get <name> <file>");
        System.out.println("       java Xdd -del <name> <file>");
        System.exit(-1);
    }

    public static void main(String[] args) throws IOException {
    	
    	//von mir eingefügt, damit ich den code aus der ide nutzen kann
    	String fl="g:/asdf.jpg"; 	
    	String[] sar={fl};
    	//String[] sar={"-set","Autoren=asdf;1234",fl};
    	args=sar;
    	
        // one or three parameters
        if (args.length != 1 && args.length != 3)
            usage();

        Path file = (args.length == 1) ?
            Paths.get(args[0]) : Paths.get(args[2]);

        // check that user defined attributes are supported by the file store
        FileStore store = Files.getFileStore(file);
        if (!store.supportsFileAttributeView(UserDefinedFileAttributeView.class)) {
            System.err.format("UserDefinedFileAttributeView not supported on %s\n", store);
            System.exit(-1);

        }
        UserDefinedFileAttributeView view = Files.
            getFileAttributeView(file, UserDefinedFileAttributeView.class);

        // list user defined attributes
        if (args.length == 1) {
            System.out.println("    Size  Name");
            System.out.println("--------  --------------------------------------");
            for (String name: view.list()) {
                System.out.format("%8d  %s\n", view.size(name), name);
            }
            return;
        }

        // Add/replace a file's user defined attribute
        if (args[0].equals("-set")) {
            // name=value
            String[] s = args[1].split("=");
            if (s.length != 2)
                usage();
            String name = s[0];
            String value = s[1];
            view.write(name, Charset.defaultCharset().encode(value));
            return;
        }

        // Print out the value of a file's user defined attribute
        if (args[0].equals("-get")) {
            String name = args[1];
            int size = view.size(name);
            ByteBuffer buf = ByteBuffer.allocateDirect(size);
            view.read(name, buf);
            buf.flip();
            System.out.println(Charset.defaultCharset().decode(buf).toString());
            return;
        }

        // Delete a file's user defined attribute
        if (args[0].equals("-del")) {
            view.delete(args[1]);
            return;
        }

        // option not recognized
        usage();
    }
 }
 
F

frank65742

Gast
ja.
damit kann ich aber immernoch nur die über java gesetzten attribute auslesen und ich möchte die von windows gesetzten attribute auslesen.

diese attribute von java bringen mir nichts, da ich, wenn ich z.b. ein Autor attribut hinzufüge es nicht im explorer angezeigt wird. Folglich habe ich nochnichteinmal irgendeinen sinnvollen anwendungsfall für diese attribute gefunden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Cody Dateiattribute auslesen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben