Gå til innhold

Code too large? STOR Array


Anbefalte innlegg

Skrevet

Jeg prøver å lage en array på litt over 11.000 ord. Altså en String array. Problemet er at jeg får feilmeldingen "code too large".

 

Hører noen rykter om at man ikke kan lage en metode i Java som går over 64k?

 

Noen som vet hvordan man løser dette uten at man må spitte arrayen i hue og rævva...?

 

-Chris

Videoannonse
Annonse
Skrevet

Man kan fint lage arrayer på mye mer enn 11000 elementer i java uten og få noen feilmelding. Kunne du kanskje liste opp koden?

Skrevet

Prøvde å google problemet litt i går. Ligger utrolig lite ute om dette faktisk.

Tror ikke problemet ligger i selve arrayen, men i metoden arrayen befinner seg i. Det er i linjen jeg oppretter metoden feilmeldingen kommer også.

Det sies at i Java, kan ingen metoder være større enn 64k...

 

Løsningen kan være å linke arrayen ut til en ekstern tekstfil, som leses når metoden kjøres, men det har jeg ikke anelse om hvordan man gjør...

 

Noen med skills der ute?

 

-Chris

Skrevet

Du kan jo kanskje poste koden du har problemer med, så kan vi se om vi finner noen alternative løsninger... Det er nemlig vanskelig å dele opp en metode man aldri har sett...

 

(Og husk ["code]<din kode her>[/"code"] (uten "))

Skrevet

Det er lite sannsynlig at du får en feilmelding som bare sier "code too large". VM'en pleier kaste en Exception. Det er _svært_ lite sannsynlig at din metode er over 64kb, da 64kb tilsvarer side etter side med Java kode. Istedenfor å være vanskelig kan du bare liste opp koden så kan kanskje noen hjelpe deg.

Skrevet

Hei!

 

Har du hardkodet tabellen i java filen? Det høres sånn ut: "code too large". I så fall er løsningen er å ha ordene dine i en ekstern fil for så å lese dem inn i en tabell.

Størrelsen på en tabell er vel kun begrenset av minnet ditt, eller eventuelt størrelsen på en int (siden tabell.length gir deg en int)...

Har laget et testprogram som lager en tabell på rundt 10000 elementer og jeg får samme feilen.

Håper dette hjelper..

 

Yngve Devik Hammersland

  • 2 uker senere...
Skrevet (endret)

Koden under forutsetter at du har en tekstfil som ser sånn ut:

 

tekst1

tkest2

tekst3

tekstn

tekst11000

 

import java.io.*;
import java.util.*;
...
FileReader fr = new FileReader("filename.txt");
BufferedReader br = new BufferedReader(fr);
Vector vecStrings = new Vector(11000);/* 11000 i startstørrelse, øker automatisk hvis det trengs */
while(br.ready()) {
  vecStrings.add(br.readLine());
}
br.close();
...

 

Det er en toArray() metode i vector klassen, evt så kan du bruke get(int) metoden for å hente ut en og en String.

Endret av blackbrrd

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...