From 001f6789384eede3004972e419966c92b0cdaa67 Mon Sep 17 00:00:00 2001 From: Maximilian Date: Mon, 8 Apr 2024 16:16:20 +0200 Subject: [PATCH] Initial commit -Datei von Marmitt --- .DS_Store | Bin 0 -> 6148 bytes .classpath | 10 +++ .project | 28 +++++++ .settings/org.eclipse.core.resources.prefs | 2 + .settings/org.eclipse.jdt.core.prefs | 14 ++++ bin/Datei.class | Bin 0 -> 240 bytes bin/Index.class | Bin 0 -> 2441 bytes bin/IndexUI.class | Bin 0 -> 364 bytes src/Datei.java | 4 + src/Index.java | 93 +++++++++++++++++++++ src/IndexUI.java | 9 ++ 11 files changed, 160 insertions(+) create mode 100644 .DS_Store create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 bin/Datei.class create mode 100644 bin/Index.class create mode 100644 bin/IndexUI.class create mode 100644 src/Datei.java create mode 100644 src/Index.java create mode 100644 src/IndexUI.java diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..cb633ac3b31f2bc5a59770b2d8ca075748f44231 GIT binary patch literal 6148 zcmeHK!AiqG5Z!I7O(;SRiXH=Ai#AZS;3d?0@M=U4Dm7_}24l7)sX3HFuKF_`{S$vj zXLdJ2sa`w?mKm6Ro7tHS^ET{c7-PIY4IRcT#+U($STkYxMsOW+0|LbQZ_n`7tZe$R`x!m$V9YPP-GK*%5T9Wjw*V zl;GtFcrluMQYw3jo*v zvlN)ipMO9b4S=r3QXyDCxC#YSpkftM)`Q#9 zopDzojl=*ku*d-Rejpas|C68lf9XU6F+dEgCIh@N@CJRzP1n|?EV0(wptqnX=vONI l3W13%#o&vjcn4Gp*lnBux*AJ`U;&{Y0Z9W5#K502@Cn>lQy>5U literal 0 HcmV?d00001 diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..f029363 --- /dev/null +++ b/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..7d8684f --- /dev/null +++ b/.project @@ -0,0 +1,28 @@ + + + Indexverwaltung + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1712585292151 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..062ed70 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=19 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=19 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=19 diff --git a/bin/Datei.class b/bin/Datei.class new file mode 100644 index 0000000000000000000000000000000000000000..1965d1e7e5fa8e1b87f698a7edb3f52ec08c212d GIT binary patch literal 240 zcmXX=%MQU%6r59iP>(kLzzz%j0K$S;H7rQ?w{^pnYLhDeWhJrj0X|Bcdt)y zpYQ7pV1dwsMQ~Q4mdb-o2+!g!qFfZmXq%p8RukNrDpWluG=`&uU@yyq^wB`80|zc4 zh*cpsw@WIky-0IO=*MLy@%VE&Cv_!wu_>Dp{9SpgGPzdz#W(Imw_^bA;(1`^ jac~(uR*}(wGk&7^V8epXsAGM%89U~7n7gb9J(C1Kx^pXo literal 0 HcmV?d00001 diff --git a/bin/Index.class b/bin/Index.class new file mode 100644 index 0000000000000000000000000000000000000000..78d9a1cdbdc361306f3f63b88870b34d5d406be3 GIT binary patch literal 2441 zcmaJ@OLNm!7(Lf^BF9x;HZe(@1Za6AZpouSfF@8vfMS{uiqnKZUy6N+g=NWO$vnEI zi}n|E(GA_OVbe|tGql4G=>O=d(^a>f(sLyxQE;XUTleaIkMo`HeAoW{-jk4~>1acH68jn259@;(_a1ucbU;T3 zQfigc@fLJ}?gi$*-mI<5#`HMqf}iq z>Y-7WY?d3RlDF^SKrz`hN0-A8x3S&SSj7saz>lp~=uObPUF!FZGD zBu=oxMhcTSrI?)-I5yha(bhL(D~j7QIy%v%yg$$}gIV&{kVd&+D-Df~71YUjouca@ z`jX|iWIf~7rCF-%syB&?R7vB3vcII`vZ5yWpkaC}#8WRn(s30mF5ya9 zM5wg6rrUu9T-UI;OV-6lt|x0cmT-f(oF>urZHw;)HS1Bi(x}a(sqdRQidYudUo)zb z>Mt4Is_9j>=78GBs%E!RlEMmZX;_VPJrY~T8g7%Hx=Lr+M6d_XswhobvLWk8=IAu2l10@aX0*7}d(zNe8RXGt1W>Cx(qvSb_ zN2+`ODu>dN?%@T;sW$5~t@TFU>~dUwRF`|0--*}<_smR`#4yCXVOd4? zeWtq|UnRlOii?ASH%h^_Wn2Va`zp*V|Qa+TSrF?D^$97<(=>QBc z^dJEYlZ*p?`h$UMn4UrKuAg45-s37p0#zxZllhKgJY;2=2a1*MNY3$Rv1h)mD!a>% zdxQ~=GT&IF)b8zE-C?dsh6(cXW_?e{oT_g+|0^cfSYChn{TDd-9H-;wo}!O0PH*Du ztg3q`xAZtBhExmw4BnsHp>T9aAK5{E_p) z26S|*zGM+sN?~Jq`E_9r;NKFsBI)D~@VO8;HIq>Q73kdfCg!)4^H&S(KtLCmWsW&7 zQUG%VHBaD|BCMVaA!pd*po5B4{xA3kSwXz&x2c8MW(aVq1)xHa(<s?V5p*$M z-dTnKFX&!e=YEN4Zt!mZB!X;eyWdkGGJ$K`12o^#&!q% wWQpOY-351U*!H@w7>oxFy}dnu@>Gli9zo2^QoTLS1bjkoC0}J+NR!9+=}Ki4p>v~+uEvDc z@M1ymC*@LwXd#HuMu*T%v{84Pb*k)xObbQmCuJs!g|yn`P0_EO^$Q_L8oLpXT1#yR zXTzuD$97&>ZSqlVC2h`Wmn%+u#mDjJuTcCF@(1FiCiWRU40aYGK_>tJ literal 0 HcmV?d00001 diff --git a/src/Datei.java b/src/Datei.java new file mode 100644 index 0000000..5e85194 --- /dev/null +++ b/src/Datei.java @@ -0,0 +1,4 @@ + +public class Datei { + +} diff --git a/src/Index.java b/src/Index.java new file mode 100644 index 0000000..bc9d75b --- /dev/null +++ b/src/Index.java @@ -0,0 +1,93 @@ +import java.io.*; + +public class Index { + // Attribute + private final int MAX = 10; + private String dateiname = "Indexdatei.txt"; + private int indextabelle[]; // 0 .. MAX-1 + private RandomAccessFile eineIndexDatei; + + // Konstruktor + public Index() + { + indextabelle = new int[MAX]; + // Initialisierung der indextabelle + for(int i = 0; i < MAX; i++) indextabelle[i] = -1; + // Kein Datensatz zu Schluessel vorhanden + } + + // Methoden + public void erzeugeEintrag(int schluessel, int index) throws IOException + { + /** Speichert zu einen Schluessel den zugehoerigen + * Datensatz-Index in der indextabelle + */ + if(schluessel < MAX) + indextabelle[schluessel] = index; + // Aktualisieren der Indexdatei, + // d. h. Abspeichern der Datei + aktualisiereIndexDatei(schluessel); + + } + + public int gibIndexZuSchluessel(int schluessel) + { + // Gibt zu dem Schluessel den gefundenen + // Datensatz-Index zurueck + if(schluessel < MAX) + return indextabelle[schluessel]; + // oder -1, wenn Schluessel zu gross ist + else + return -1; + } + + public void ladeIndexDatei() throws IOException + { + /** Liest die Indextabelle vollstaendig aus einer Datei + * Dies geschieht nur beim Start des Programms + */ + eineIndexDatei = new RandomAccessFile(dateiname, "r"); + int index; + for(int schluessel = 0; schluessel < MAX; schluessel++) + { + index = eineIndexDatei.readInt(); + indextabelle[schluessel] = index; + } + eineIndexDatei.close(); + } + + public void speichereIndexDatei() throws IOException + { + /** Speichert die Indextabelle vollstaendig in einer Datei + * Dies geschlieht beim beenden des Programs + */ + eineIndexDatei = new RandomAccessFile(dateiname, "rw"); + for(int schluessel = 0; schluessel < MAX; schluessel++) + eineIndexDatei.writeInt(indextabelle[schluessel]); + eineIndexDatei.close(); + } + + private void aktualisiereIndexDatei(int schluessel) throws IOException + { + /** Aktualisiert die indextabelle in der Indexdatei + * Dies geschliet beim Hinzufuegen eines neuen + * Indexes oder Aendern eines alten Indexes + */ + eineIndexDatei = new RandomAccessFile(dateiname, "rw"); + // eine int-Zahl belegt 4 Bytes + eineIndexDatei.seek((long)(schluessel * 4)); + eineIndexDatei.writeInt(indextabelle[schluessel]); + eineIndexDatei.close(); + } + + // Zum Testen + public void gibIndextabelleAus() + { + int schluessel = 0; + for(int element : indextabelle) + { + System.out.println(schluessel + " " + element); + schluessel++; + } + } +} diff --git a/src/IndexUI.java b/src/IndexUI.java new file mode 100644 index 0000000..fa116a2 --- /dev/null +++ b/src/IndexUI.java @@ -0,0 +1,9 @@ + +public class IndexUI { + + public static void main(String[] args) { + // TODO Auto-generated method stub + + } + +}