设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5442|回复: 1

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

[复制链接]
发表于 2010-3-2 17:00:18 | 显示全部楼层 |阅读模式
package business;
  b; I- n1 c* C% }" ~2 C% W9 ?import java.io.BufferedReader;) b% v( P9 z' {  E" t
import java.io.FileInputStream;" W$ V4 F( G! {- F) O7 l- e' L. x
import java.io.FileNotFoundException;
, p+ p2 e; w: ?' Z: r- Fimport java.io.IOException;7 F8 A/ f' V" o' C
import java.io.InputStreamReader;
$ V/ s9 r/ ?7 \import java.io.UnsupportedEncodingException;5 ^4 b6 e' m8 x0 b
import java.util.StringTokenizer;
: Y) {, ^8 I) g: ?# ppublic class TXTReader {
+ {- b8 F' B- ?' d protected String matrix[][];5 b2 l0 T1 A# d8 i1 G# k
protected int xSize;( @6 C8 f3 A1 F. h4 X' ]7 Q+ s
protected int ySize;
% l4 j6 I7 L1 p& j  q public TXTReader(String sugarFile) {
$ ]/ {) U1 e$ ~4 j( V& f5 y+ H! [  java.io.InputStream stream = null;
. x: b1 I6 W- \# K1 B  try {
* K4 s$ H  p2 U% o   stream = new FileInputStream(sugarFile);% }$ B2 u- {8 {, A2 M$ R$ E% V
  } catch (FileNotFoundException e) {8 ~$ }6 _+ H+ o1 @5 f* o0 T
   e.printStackTrace();
9 E  [( L$ e; w3 z% F# u  }4 p; w+ ^0 e6 h& e& V; `
  BufferedReader in = new BufferedReader(new InputStreamReader(stream));
5 }! E8 r6 l# @0 V& ?: A1 q  init(in);
' v/ R& M2 E" [; `# o" t. M }
; z* |- [6 T* \- r private void init(BufferedReader in) {, J& i9 Z: [% a0 |# Z2 z9 n1 N& e
  try {
! R" K3 E3 q3 ~0 A   String str = in.readLine();
  ^0 @! \' l  y2 h9 G0 @9 [   if (!str.equals("b2")) {
8 y- \: o' T  J: k& q; `    throw new UnsupportedEncodingException(' u( P/ `% X( V; ]# O; k
      "File is not in TXT ascii format");
. ]$ ~2 }0 }9 ^/ w   }8 O" |1 i0 y$ e* v
   str = in.readLine();- I" p' _" `1 w9 U% C
   String tem[] = str.split("[\\t\\s]+");% A) B9 A; ~* x
   xSize = Integer.valueOf(tem[0]).intValue();
! @) E& e- q6 N1 [5 e6 [4 f   ySize = Integer.valueOf(tem[1]).intValue();
8 y. [, k& k2 Z/ R$ c' w/ H   matrix = new String[xSize][ySize];
' }6 X7 k2 x* _' i# e: w   int i = 0;
  ]* K$ Z8 ^: I) f0 L' Z   str = "";* ]1 k4 r4 k1 t  ]0 @. ~5 h/ [
   String line = in.readLine();
  V6 K3 s1 j  N0 _/ N: j2 ?8 Z   while (line != null) {6 s: V. _% y6 F' S* U4 I  n/ b; {( D
    String temp[] = line.split("[\\t\\s]+");+ h1 i1 i8 W, g/ I/ N" a1 v9 d/ a
    line = in.readLine();
0 j7 x$ E8 F9 X4 b6 v& }9 T    for (int j = 0; j < ySize; j++) {. ?0 }+ l) P1 \
     matrix[i][j] = temp[j];
8 l! J) n; S, u: u    }: ~( e$ g0 q' [& ^9 S
    i++;( U4 K7 a, Z' d! f/ [- ^; y' g! \
   }  p$ F- ^. D! h- w7 R$ G# U2 K. V6 u9 }
   in.close();
$ {0 L: y8 S; l+ d% v1 K  } catch (IOException ex) {
1 E( ~! E, v4 W  P# v5 {   System.out.println("Error Reading file");- g4 Z4 |8 h# R  E
   ex.printStackTrace();0 g* C9 O' t5 S
   System.exit(0);$ J# o! R. i1 ~5 h& A0 ^, E
  }
- X8 x5 t$ S' l2 u. \6 J3 P! c }/ ?1 N* t, \! I- ?
public String[][] getMatrix() {) ]) b& x8 i  f6 N1 W  U
  return matrix;3 g5 E# Q) q2 T" h3 O  @0 @( Y
}
6 \2 j7 h  X  i; X( j# {9 Z8 U}
发表于 2010-8-31 08:40:14 | 显示全部楼层
请问楼主,有没有能把repast中的一个变量写入到一个txt文档的程序呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-10-30 14:32 , Processed in 0.014352 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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