Skip to content
 
 

Repository files navigation

udf

Go Library for reading UDF (Universal Disc Format) filesystem images.

  • GoDoc
  • Works on Linux, Windows, FreeBSD and macOS without Cgo.
  • Parses UDF volume structures per ECMA-167.
  • Reads UDF 2.50 and 2.60 metadata partitions (Blu-ray), extended file entries, and long allocation descriptors.
  • Returns errors instead of panicking.

Forked from mogaika/udf with bug fixes, error handling, and modernization.

Example

package main

import (
	"fmt"
	"log"
	"os"

	"golift.io/udf"
)

func main() {
	r, err := os.Open("example.iso")
	if err != nil {
		log.Fatal(err)
	}
	defer r.Close()

	u, err := udf.NewUdfFromReader(r)
	if err != nil {
		log.Fatal(err)
	}

	files, err := u.ReadDir(nil)
	if err != nil {
		log.Fatal(err)
	}

	for _, f := range files {
		fmt.Printf("%s %-10d %-20s %v\n", f.Mode().String(), f.Size(), f.Name(), f.ModTime())
	}
}

Releases

Contributors

Languages