2013-01-23 55 views
0

所以我點Java的超過65535個字節點陣列和Llines

Point[] point ={new Point (x,y), ....} 

數組和行的那些點

Line[] line = {new Line(point[1],point[5]),....} 

數組如果我這些信息存儲在一個類我超過了65535字節。

我想從外部文件中獲取它,因爲在其他類中分裂它們是沒有選擇的。 但是線必須從點陣列中獲得它們的點。

所以,如果任何人有一個想法如何做到這一點?

+0

等一下,你是否在你的_class definition_中定義了65536個文字「Point」對象? –

+0

否,65536字節; – kristof

+0

@LouisWasserman比這還少得多點,但仍然是一個很好的問題 - 「爲什麼在課堂定義中有那麼多*?」 :P – 2013-01-23 22:10:15

回答

2

閱讀文本文件中的要點,例如

x0 y0 
x1 y1 
... etc 

閱讀中的臺詞作爲一系列點數

1 5 etc 
0 3 6 9 etc 

可以使用的BufferedReader和分裂()或謹慎使用掃描儀的。

而不是提前定義所有點,您可以將您的線條定義爲一系列點。這將更容易維護。

1,2 3,4 5,6 etc 
2,1 4,5 0,7 etc 
0

你可以使用一個靜態初始化器:

static { 
    Point[] points; 
    int i =0; 
    for(int x=0;x<something;x++){ 
     for(int y=0;y<something;y++){ 
      point[i] = new Point(x,y); 
     } 
    } 
} 

如果無法計算的點,因爲它們的值,將其存儲在一個文件中,彼得寫道。