Java SE 窗口显示 "Not Responing"。我的 try/catch 有问题吗?

标签 java 2d try-catch

我在尝试写入文件时遇到问题。它是塔防游戏中的关卡编辑器。每次我单击“S”保存时,它都会卡住,当我单击显示屏时,它说没有响应,然后我必须使用任务管理器手动将其关闭。

package helpers;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

import data.Tile;
import data.TileGrid;

public class Leveler {

    public static void saveMap(String mapName, TileGrid grid) {
        String mapData = "";
        for (int i = 0; i < grid.getTilesWide(); i++) {
            for (int j = 0; i < grid.getTilesHigh(); j++) {
                mapData += getTileID(grid.GetTile(i, j));
            }
        }

        //Trying to save a game map to a text file
        try{
        File file = new File(mapName);
        BufferedWriter bw = new BufferedWriter(new FileWriter(file));
        bw.write(mapData);
        bw.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public static String getTileID(Tile t) {
        String ID = "e";
        switch (t.getType()) {
        case Grass:
            ID = "0";
            break;
        case Dirt:
            ID = "1";
            break;
        case Water:
            ID = "2";
            break;
        case Stone:
            ID = "3";
            break;
        case NULL:
            ID = "4";
            break;
        }
        return ID;
    }
}

Code by XXCODE_MAN94XX .

最佳答案

这条线看起来可疑地像一个无限循环:

public static void saveMap(String mapName, TileGrid grid) {
        String mapData = "";
        for (int i = 0; i < grid.getTilesWide(); i++) {
            for (int j = 0; i < grid.getTilesHigh(); j++) {  <-- Don't you mean "j"?
                mapData += getTileID(grid.GetTile(i, j));
            }
        }

关于Java SE 窗口显示 "Not Responing"。我的 try/catch 有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31056792/

相关文章:

java - Apache Camel : File Component in Linux environment; Polling Fails

java - JAVA填充二维数组

javascript - 仅 vis graph2d y 轴整数

java - 通用 DAO 的缺点?

Java上的kill方法

java - 使用 apache lang DateUtil 的日期格式失败

Java Arrays.fill() 负数

C++ 成功 `try` 分支

java - 在 Java 中是否有 try/catch 的替代方法来打开文件?

java - Try-Catch 的 Catch 部分未执行