我正在嘗試爲Java創建Tile Map Editor,並將其卡在文件打開中。打開文件本身並不是什麼大問題,但是隻要我在文本文件中輸入空格就會造成運行時錯誤。每個圖塊包含一個圖像(黑色或白色方形atm)以及它是否將變爲固定(1)或不變爲(0)。該tilemaps將目前被保存在一個格式是這樣的:將重複模式的文本文件讀入列表中
1:1 1:1 1:1 1:1 1:1 1:1
1:1 0:0 0:0 0:0 0:0 1:1
1:1 0:0 0:0 0:0 0:0 1:1
1:1 1:1 1:1 1:1 1:1 1:1
例如,這可能是一個簡單的房間黑壁,中實,將阻止球員。這將是一張6x4的瓷磚地圖。我怎樣才能定義格式x:x(這裏是空格)?
List<Integer> list = new ArrayList<Integer>();
File file = new File("file.txt");
BufferedReader reader = null;
try
{
reader = new BufferedReader(new FileReader(file));
String text = null;
while ((text = reader.readLine()) != null)
{
list.add(Integer.parseInt(text));
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
你究竟想要在你的List的每個元素中存儲什麼?單一1:1還是全部?當您嘗試在充滿冒號的線上parseInt時發生異常。你爲什麼要在包含冒號的這一行上parseInt?如果你想解析你的int,那麼你想讓列表中的每個元素看起來像什麼? –
那麼上面的代碼示例就是爲了讓它在更基本的層面上工作。在真實情況下,我有一個列表 TileMap。 Tile是一個由int ID和int Type組成的類,它們的getter()和setters()。所以我想將第一個作爲ID存儲,第二個作爲類型,並且像列表中的每個Tile元素那樣存儲。 編輯:我在找什麼就像c#scanf參數%d或%r等... –