A .properties egy fájlkiterjesztés olyan fájlokra, melyeket főleg a Java-val kapcsolatos technológiák használnak alkalmazás konfigurációs paraméterek tárolására. Továbbá használják internacionalizálás és honosítási stringek tárolására is, ezeket tulajdonság erőforrás csomagoknak (angolul Property Resource Bundles) nevezik.

Properties
Fájlkiterjesztés.properties
Formátum típusaASCII

Minden paraméter string páronként van tárolva, a pár első tagja jelenti a paraméter nevét (ez a kulcs), a második paraméter értéket.

Formátum szerkesztés

Egy .properties fájlban minden sor általában egy tulajdonságot jelöl. Számos formátum alkalmazható az egyes sorokra pl. key=value, key = value, key:value, és key value.

A .properties fájlokban használhatók a következő írásjelek: '#','!'. A sor első nem üres karakterhelyén ezek azt jelölik, hogy a sor teljes tartalma komment (megjegyzés). A fordított perjel ('\') egy vezérlő karakter, amely karaktere escape-elésére használható. A lenti példa egy .properties fájlt mutat be.

# You are reading the ".properties" entry.
! The exclamation mark can also mark text as comments.
website = https://en.wikipedia.org/
language = English
# The backslash below tells the application to continue reading
# the value onto the next line.
message = Welcome to \
          Wikipedia!
# Add spaces to the key
key\ with\ spaces = This is the value that could be looked up with the key "key with spaces".
# Unicode
tab : \u0009

A fenti példában a website a kulcs, és a hozzátartozó érték pedig a https://en.wikipedia.org/. Habár a kettős kereszt és a felkiáltójel a szöveget megjegyzéssé teszi, hatásuk nem érvényesül, ha a tulajdonság részei egyben. Ezért a message kulcs értéke Welcome to Wikipedia! és nem Welcome to Wikipedia. Továbbá érdemes megjegyezni, hogy az összes üres karakter a Wikipedia! előtt teljesen ki van hagyva az értékből.

Az Apache Tomcat-nél a felkiáltójel egy tagadás operatort jelent, egy sorban az első nem üres karakter helyen.

Egy .properties fájl kódolása ISO-8859-1, más néven Latin-1. Az összes nem Latin-1 karaktert az Unicode escape karakterek használatával kell megadni, pl. \uHHHH, ahol a HHHH egy hexadecimális szám, mely megadja az adott karakter helyét az Unicode karakterkészletben. Ez lehetővé teszi a .properties fájlok használatát Java erőforrás csomagokként honosításra. Egy nem Latin-1-es szövegfájl átalakítható egy hibátlan .properties fájllá az native2ascii nevű eszköz használatával, amely a JDK része, vagy olyan eszköz használatával mint amilyen pl. a po2prop,[1] amely a kétnyelvű lokalizációs formátumból az escape-elt .proerties fájlba történő transzformációt kezeli.

Az ISO 8859-1 karakterkódolást használó Java *.properties fájloknál egy másik alternatíva az unicode escape karakterek használatára nem latin-1 karakterek esetén az XML Properties fájl formátum használata, amely alapértelmezetten UTF-8-as kódolást használ, és Java 1.5-ben került bevezetésre.[2]

Az Adobe Flex szintén használ .properties fájlokat, de UTF-8 kódolással.[3]

Használatára példa Java-ban szerkesztés

Properties myProps = new Properties();

FileInputStream myInputStream = new FileInputStream("myPropertiesFile.properties");
myProps.load(myInputStream);
String myPropValue = myProps.getProperty("propKey");

String key = "";
String value = "";
for (Map.Entry<Object, Object> propItem : myProps.entrySet()) {
    key = (String) propItem.getKey();
    value = (String) propItem.getValue();
    // do sg with these
}

myInputStream.close(); // better in finally block

myProps.setProperty("propKey", "myNewPropValue");
FileOutputStream myOutputStream = new FileOutputStream("yourPropertiesFile.properties");
myProps.store(MyOutputStream, "myAddedKey: myAddedValue");
myOutputStream.close(); // better in finally block

Kapcsolódó szócikkek szerkesztés

  • bonyolult, összetett konfiguráció formátumokhoz ajánlott pl. a YAML használata.

Jegyzetek szerkesztés

  1. Translate Toolkit's po2prop[halott link] converts native character encodings in a Gettext PO file into correctly escaped ascii without the need for native2ascii
  2. Java XML Properties DTD
  3. Flex IResourceBundle reference

További információk szerkesztés

  • java.util.Properties.load(java.io.Reader) - egy jól formált Java property fájlnak megadja a pontos szemantikáját
  • java.util.PropertyResourceBundle - leírja a property erőforráshoz tartozó dolgokat
  • java.util.Properties - a Java properies-t kifejti egy egyszerű xml formátumban.
  • MultiProperties - It is an Eclipse plugin for editing multiple key-value based files with similar content. This kind of file format can be Properties for example in Java programming language, which is frequently used for backing a ResourceBundle.
  • Bracket Properties - a refresh of the Properties concept while keeping the ubiquitous .properties file format intact.
  • DOKSoft Properties Editor - hasznos segédprogram egy teljes projekt properties fájljainak megtekintésére és szerkesztésére.
  • DOKSoft Properties Editor Eclipse plugin Archiválva 2014. július 28-i dátummal a Wayback Machine-ben - i18n eszköz, mely az Eclipse IDE-be telepíthető.
  • Message Editor - az i18n-t kezeli Java alkalmazások részére. XML property fájlokat generál. 2 stylesheet-et tartalmaz: .properties és .xml property generáláshoz fordítási időben (Ant alapú)
  • JLokalize - nyílt forráskódú Java properties szerkesztő vissza irányú funkciókkal és helyesírás ellenőrzővel

Fordítás szerkesztés

Ez a szócikk részben vagy egészben a(z) .properties című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.