sil

Maruf61

Lapis Toplayıcısı
Mesajlar
1,038
En iyi cevaplar
0
Beğeniler
296
Puanları
590
hashmap lerinin icinde genel olarak ne var ?

Sent from my SM-N9005 using Tapatalk
 

eklenti

Kızıltaş Madencisi
Mesajlar
634
En iyi cevaplar
0
Beğeniler
211
Puanları
340
valla ne ararsan var
public HashMap<String, Core> core = new HashMap<String, Core>();
public ArrayList<LOH_Sign> Signs = new ArrayList<LOH_Sign>();
bunlar fakat bunlar öyle hashmaplar değil gördüğün gibi class dosyaları ve içindekileri kaydedicem yapabiliyorum fakat core'daki hashmap'ın içinde özel bi dosya var seriyzıbıl değil onu kaydederken hata veriyor hatayıda veriyim istiyorsan,
PHP:
[21:48:43] [Server thread/WARN]: java.io.NotSerializableException: me.hasan.loh.champions.Darius
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeObject0(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.util.HashMap.internalWriteEntries(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.util.HashMap.writeObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
[21:48:43] [Server thread/WARN]:     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.lang.reflect.Method.invoke(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeObject0(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeObject0(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.util.HashMap.internalWriteEntries(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.util.HashMap.writeObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
[21:48:43] [Server thread/WARN]:     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.lang.reflect.Method.invoke(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeObject0(Unknown Source)
[21:48:43] [Server thread/WARN]:     at java.io.ObjectOutputStream.writeObject(Unknown Source)
[21:48:43] [Server thread/WARN]:     at me.hasan.loh.other.SL.save(SL.java:16)
[21:48:43] [Server thread/WARN]:     at me.hasan.loh.Main.onDisable(Main.java:125)
[21:48:43] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:323)
[21:48:43] [Server thread/WARN]:     at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:364)
[21:48:43] [Server thread/WARN]:     at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:424)
[21:48:43] [Server thread/WARN]:     at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:417)
[21:48:43] [Server thread/WARN]:     at org.bukkit.craftbukkit.v1_8_R3.CraftServer.disablePlugins(CraftServer.java:336)
[21:48:43] [Server thread/WARN]:     at net.minecraft.server.v1_8_R3.MinecraftServer.stop(MinecraftServer.java:460)
[21:48:43] [Server thread/WARN]:     at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:592)
[21:48:43] [Server thread/WARN]:     at java.lang.Thread.run(Unknown Source)
[21:48:43] [Server thread/INFO]: Saving players
darius class'ının serıyzıbıl olmamasından kaynaklı ve serıyzıbıl yapamam darius class'ını
 

Maruf61

Lapis Toplayıcısı
Mesajlar
1,038
En iyi cevaplar
0
Beğeniler
296
Puanları
590
sagsen ben yaptigim kayitlarin buyuk bi kismini yml dosyalarina kaydediyorum hem tekrar okumasi kolay hem manuel olarak editlenilebiliyor :) kucuk bi loop ile basitce yapabilirsin :)

Sent from my SM-N9005 using Tapatalk
 

eklenti

Kızıltaş Madencisi
Mesajlar
634
En iyi cevaplar
0
Beğeniler
211
Puanları
340
sagsen ben yaptigim kayitlarin buyuk bi kismini yml dosyalarina kaydediyorum hem tekrar okumasi kolay hem manuel olarak editlenilebiliyor :) kucuk bi loop ile basitce yapabilirsin :)

Sent from my SM-N9005 using Tapatalk
onu denedim fakat şöyle benim kaydedeceğim dosyalar çok karışık tek bi dosya türü değil yani hey şeyi kaydetmeye kalsam çok karışıyor editlenmesini bırak okunmaz bile çok fazla dosya kaydetmesi gerekiyor, class dosyasında çok bilgi var Core da yani
 

Maruf61

Lapis Toplayıcısı
Mesajlar
1,038
En iyi cevaplar
0
Beğeniler
296
Puanları
590
o kadar bilgiyi kaydetme amacin ne :)

Sent from my SM-N9005 using Tapatalk
 

eklenti

Kızıltaş Madencisi
Mesajlar
634
En iyi cevaplar
0
Beğeniler
211
Puanları
340
o kadar bilgiyi kaydetme amacin ne :)

Sent from my SM-N9005 using Tapatalk
"minigames" ve lol plugini olmasından kaynaklı :) çok araştırdım fakat bana en yakın sağlıklı ve düzenli bi bunu buldum fakat nasıl kendime aktarıcam bilmiyorum:
save için:
PHP:
HashMap<String,Boolean> hashmap = new HashMap<String, Boolean>();
File file = //your file
try
{
   BufferedWriter bw = new BufferedWriter(new FileWriter(file));
   for(String p:hashmap.keySet())
   {
      bw.write(p + "," + hashmap.get(p));
      bw.newLine();
   }
   bw.flush();
   bw.close();
}
load için:
PHP:
HashMap<String, Boolean> hashmap = new HashMap<String, Boolean>();
File file = //your file
try
{
   BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
   String l;
   while((l = br.readLine()) != null)
   {
      String[] args = l.split("[,]", 2);
      if(args.length != 2)continue;
      String p = args[0].replaceAll(" ", "");
      String b = args[1].replaceAll(" ", "");
      if(b.equalsIgnoreCase("true"))hashmap.put(p, true);
      else hashmap.put(p, false);
   }
   br.close();
}
benim için nasıl kullanıcam bilmiyorum :/ yoksa bir sürü var fakat benim istediğimin tarzında yok
 

Maruf61

Lapis Toplayıcısı
Mesajlar
1,038
En iyi cevaplar
0
Beğeniler
296
Puanları
590
bu true false value si olan hash map icin sadece yapabilcegin en iyi sey hashmapini duzenleyip basitlestirmek. 1 hashmap yerine 5 hash kullan :) son yml ye kaydet

Sent from my SM-N9005 using Tapatalk
 

eklenti

Kızıltaş Madencisi
Mesajlar
634
En iyi cevaplar
0
Beğeniler
211
Puanları
340
bu true false value si olan hash map icin sadece yapabilcegin en iyi sey hashmapini duzenleyip basitlestirmek. 1 hashmap yerine 5 hash kullan :) son yml ye kaydet

Sent from my SM-N9005 using Tapatalk
:( öyle bi hashmap değil :/ 5-6 class'ın geleceği o hashmap'a bağlı 5 tane ayrı ayrı yapamam :(
 

Maruf61

Lapis Toplayıcısı
Mesajlar
1,038
En iyi cevaplar
0
Beğeniler
296
Puanları
590
:D 5 hashmap i 5 class a baglarsin :) dedigim gibi yapabilecegin en mantikli sey parcalamak :)

Sent from my SM-N9005 using Tapatalk
 

eklenti

Kızıltaş Madencisi
Mesajlar
634
En iyi cevaplar
0
Beğeniler
211
Puanları
340
:D 5 hashmap i 5 class a baglarsin :) dedigim gibi yapabilecegin en mantikli sey parcalamak :)

Sent from my SM-N9005 using Tapatalk
neyse :/ başka bi mtod bulmam lazım tek hashmap başıma milyol tane bela açıyor zaten, neyse uğraşıp bi şekilde bulucam saol, hiç bişe de bulamazsam dediğini yaparım :(
 

Maruf61

Lapis Toplayıcısı
Mesajlar
1,038
En iyi cevaplar
0
Beğeniler
296
Puanları
590
ihtiyacin olursa ulas bana :)

Sent from my SM-N9005 using Tapatalk
 

eklenti

Kızıltaş Madencisi
Mesajlar
634
En iyi cevaplar
0
Beğeniler
211
Puanları
340
Allah muhabbetinizi arttırsın. :)


Laptop'u temizlemek için söylediğin 2 yoldan 1. sini deneyeceğim. Kafama Headshot yemek istemiyorum. :( Hem terlik yeme oranının düşmesinin yaşla bir alakası yok bence, ben 16 yaşımdayım hala anne terlikleri havada uçuşuyor, neyse. Madem sen bana yardımcı oldun bende sana yardımcı olup borcumu ödeyeyim. ObjectInputStream ve ObjectOutputStream ile çok cebelleştiğim için nasıl kullanılacağını iyi bilirim. :) Tam olarak sorun neydi?
benim sorunum serıyzıbıl olmayan bi hashmap'ı kaydetmek fakat ben sorunu çözdü sayılırım şu an ki sorunum şu:
onenable olunca plugin bu kodu geçemiyor:
for(String s : coredata.getStringArray("Worlds")){
"Worlds" kısmı şu:
Worlds=[arena]
bu config yani, config'in içinde arraylist olarak world isimleri var ve ben bunu getStringArray ile kontrol edemiyorum getStringArray da bu:
PHP:
public String[] getStringArray(String path) {
        List<String> strings = new ArrayList<String>();
        boolean more = true;
        for (int i = 0; more; i++) {
            if (props.containsKey(path + i)) {
                strings.add(props.getProperty(path + i));
            } else {
                more = false;
            }
        }
        String[] stringarr = new String[strings.size()];
        for (int j = 0; j < strings.size(); j++) {
            stringarr[j] = strings.get(j);
        }
        return stringarr;
    }
çözebilir misin bilmiyorum ama çözersen çok iyi olur diğer sorunlarla uğraşmam gerekiyor :)
 

Maruf61

Lapis Toplayıcısı
Mesajlar
1,038
En iyi cevaplar
0
Beğeniler
296
Puanları
590
dunyalari string olarak kaydet su sekilde: "world1,world2,world3" sonra string olarak cek ve string i "," den parcala String [] strings = getconfig ().getString ("worlds").split (","); seklinde. boylece elinde strings isimli arraylistin olacak.

Sent from my SM-N9005 using Tapatalk
 

eklenti

Kızıltaş Madencisi
Mesajlar
634
En iyi cevaplar
0
Beğeniler
211
Puanları
340
hmm anladım oda mantıklı bi deniyim yapmayı.

dunyalari string olarak kaydet su sekilde: "world1,world2,world3" sonra string olarak cek ve string i "," den parcala String [] strings = getconfig ().getString ("worlds").split (","); seklinde. boylece elinde strings isimli arraylistin olacak.

Sent from my SM-N9005 using Tapatalk
biraz düşündüm ve tam olarak ne olmasını istediğimi anladım:
Worlds=[arena,arena1,arenasonsuz]
bu coredata daki herhangi bi bilgi, bu bilgi arraylist ve öyle kalmalı, ve ben bunu for yapıp her bir arena ismini ayırmam gerekiyor yani split dediğin şey ile ancak yapınca hata veriyor benim bunu , den sonraki kısımları ayırıp her birini string olarak göstermeliyim, arraylist'i ayırıp string olarak göstermeliyim yani kısaca böyle.
 

Maruf61

Lapis Toplayıcısı
Mesajlar
1,038
En iyi cevaplar
0
Beğeniler
296
Puanları
590
dedigim sekilde oyle oluyor ztn daha sonra onlara ulasmak icin mesela arena1 icin strings [1] yazicaksin

Sent from my SM-N9005 using Tapatalk
 

Üst