使用异常处理解决从txt中读取不定长度的数据

本文介绍了一种使用Java从TXT文件中读取数据并将其存储到二维数组中的方法。通过使用FileReader和BufferedReader类进行文件读取,并借助StringTokenizer处理每行数据,实现了将TXT文件中的数据映射到预定义大小的二维数组中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于没有找到从txt中读取不定长度数据保存到已定长度数组的方法,在调试过程中发现每次使用nextToken()读取完第一行之后就会抛异常,所以决定使用异常处理来完成每行读取完之后就结束当前循环并换行

public static void main(String[] args) {
		//声明一个100*100的map数组来储存地图
		int[][] map = new int[100][100];
		try {			
			FileReader fr = new FileReader("./bin/map/map_001.txt");
			BufferedReader br = new BufferedReader(fr);
			br.readLine();
			StringTokenizer intro;
			for(int i = 0;i < map.length;i++){
				intro = new StringTokenizer(br.readLine()," ");
				try {//使用异常处理来完成每行读取完之后换行
					for(int j = 0;j < map[i].length;j++){
						String str = intro.nextToken();
						if(str != null)
						map[i][j] = Integer.parseInt(str);
						if(map[i][j] == 1){
							System.out.print("#");
						}else if(map[i][j] == 2){
							System.out.print("P");
						}else if(map[i][j] == 3){
							System.out.print("?");
						}else if(map[i][j] == 4){
							System.out.print("S");
						}else if(map[i][j] == 5){
							System.out.print(" ");
						}else{
							break;
						}
					}
				} catch (Exception e) {
					System.out.println();
				}
				
			}
			br.close();
		} catch (Exception e) {
		}
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值