设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10298|回复: 1

[原创] 发一个读取TXT文件数据的程序代码

[复制链接]
发表于 2010-3-2 17:00:18 | 显示全部楼层 |阅读模式
package business;
% R9 z* v  d, g; ]: n/ Iimport java.io.BufferedReader;
; z, ]: b+ o6 ^6 Q! simport java.io.FileInputStream;
9 b- U" R! A+ U: O6 e& \" Rimport java.io.FileNotFoundException;5 I+ G+ f" R  @5 I4 d- c
import java.io.IOException;# F( F' \- H  Z: T4 m! `  Z) `/ C$ M
import java.io.InputStreamReader;* \2 r; c. P6 b  T- F
import java.io.UnsupportedEncodingException;
5 Y' j' ^! @" a& w' Himport java.util.StringTokenizer;' P+ t6 q* ~% Q
public class TXTReader {1 X) D5 W) M, S3 Y3 a; V
protected String matrix[][];
' d! K; b6 b! o. F# x8 `  f) n protected int xSize;5 I% p6 T9 @5 D9 d! r4 y. Z- B1 s
protected int ySize;1 m1 }& i+ T6 `( w
public TXTReader(String sugarFile) {4 R; i3 y+ Z5 ~: ^% d; Y
  java.io.InputStream stream = null;9 i9 C, a3 O- v7 K" f
  try {# K; F" o, ]2 e: o
   stream = new FileInputStream(sugarFile);
  w% U( s8 [: ~1 v" |  } catch (FileNotFoundException e) {/ G8 {0 \# U) a4 T+ a% _( ^9 a
   e.printStackTrace();
$ e& H; b; B$ l" T  }
" m7 B9 \2 s. j: x, g6 q7 Y( {+ R9 |: L  BufferedReader in = new BufferedReader(new InputStreamReader(stream));! ]/ ~, I  c, p  X' N8 P
  init(in);
5 P' I2 h8 E* y1 o  a/ c0 J: H0 {  p }
) x" ^; a+ v0 [8 ]* Y2 m& e private void init(BufferedReader in) {6 H" q, D+ N! M6 a2 s
  try {
6 ^$ v( G# |& l$ a4 A   String str = in.readLine();
/ e& q( r) s7 W, q, _) t, {! h   if (!str.equals("b2")) {
! q0 S$ s( w. I& N    throw new UnsupportedEncodingException(( R( M: _# d2 j8 C) B
      "File is not in TXT ascii format");
/ C; ^7 m' i. b. h& G) j   }; ^' t) @! x8 Z. A9 C
   str = in.readLine();
* X$ M; b% j& j/ a. _   String tem[] = str.split("[\\t\\s]+");2 G4 r2 ]7 B7 R9 q4 |5 R% A& A
   xSize = Integer.valueOf(tem[0]).intValue();+ V+ R: m' X, A( V' E
   ySize = Integer.valueOf(tem[1]).intValue();
3 D, O) u8 L( B4 c( s   matrix = new String[xSize][ySize];
: [& [( P) q4 E6 m; K' }   int i = 0;
$ \4 T3 }. x: T; ^+ B& S4 X   str = "";
8 d/ g3 |0 V! F   String line = in.readLine();
" X. {3 J+ j& I: D9 ^   while (line != null) {
( E0 l0 {  H. R6 E& I    String temp[] = line.split("[\\t\\s]+");
$ H! T) c8 p. `0 b" Q$ c4 {' U/ @    line = in.readLine();
- u0 |2 t0 T1 j$ {9 N# W    for (int j = 0; j < ySize; j++) {4 |* j9 u5 ~% g* B# l1 ~/ L
     matrix[i][j] = temp[j];8 A# G4 L" ?* E8 L6 G% A* V
    }
4 C+ ]; w  C, m) U) e    i++;
0 _- ^( u0 T) {1 {9 v9 A  a# C   }
* H% A: p0 {' @, t  T   in.close();3 F5 D- p7 `5 \; A% m& ~( r5 D
  } catch (IOException ex) {
- b8 j+ o) m- ~# o2 [8 K) {   System.out.println("Error Reading file");
0 Q8 M* L* C4 M. D8 g   ex.printStackTrace();7 U' h: i" F) x/ l" U: F7 V
   System.exit(0);! w0 L  \4 B9 E/ n
  }
9 X- w! P5 j7 `7 w. }7 C( T }/ S. j" a  k0 q% w  ^. G  D% E2 u2 L
public String[][] getMatrix() {2 q/ P3 o. z+ B5 O
  return matrix;7 ]0 ?6 \4 \. q& _2 |
}/ d( O0 }9 r1 f7 K
}
发表于 2010-8-31 08:40:14 | 显示全部楼层
请问楼主,有没有能把repast中的一个变量写入到一个txt文档的程序呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-9-3 00:07 , Processed in 0.015287 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表