设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8534|回复: 1

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

[复制链接]
发表于 2010-3-2 17:00:18 | 显示全部楼层 |阅读模式
package business;( \9 R2 f- c% |: `% r7 Z
import java.io.BufferedReader;
2 G% @5 A  v! G7 F. Dimport java.io.FileInputStream;; P: n5 o/ {5 f! |" Z
import java.io.FileNotFoundException;
) p) L6 E$ j0 f* ~import java.io.IOException;4 \  Y% `' w7 D- b
import java.io.InputStreamReader;
7 Y. H; I9 Q, x6 Simport java.io.UnsupportedEncodingException;
7 {% h% }8 {* b1 b# y' F8 I/ q; F$ Jimport java.util.StringTokenizer;/ |( n( k4 ]% X" o
public class TXTReader {$ e+ o; I2 y3 m4 T+ m2 C8 V
protected String matrix[][];( Q- G& K9 q7 n* H% c5 O' M
protected int xSize;# F0 k5 E$ d3 \; e" Y) Z
protected int ySize;' w- W6 Q6 w) P8 A4 B: k2 c
public TXTReader(String sugarFile) {, h  q8 y' R1 ^0 {* c2 j) a
  java.io.InputStream stream = null;
8 Q; o7 Y- T2 _  try {
5 Q! v' z; B  p, `( A, a2 k4 N( R   stream = new FileInputStream(sugarFile);3 F1 g$ T6 ~+ ?+ k; o
  } catch (FileNotFoundException e) {4 V" K& n! g7 p  _6 Z
   e.printStackTrace();
  w% E1 @* ~: T* o  }
% a4 h/ f( ^+ H$ L  BufferedReader in = new BufferedReader(new InputStreamReader(stream));
, D% I+ w9 z5 ~9 P8 [. A5 w0 z! I  init(in);  h9 ]+ r/ P+ y4 [2 D
}
8 D# y: P! }: s3 ^3 u$ u" G# {: ] private void init(BufferedReader in) {
! o; m8 N6 O. ?$ t" U  try {
5 M- J, @/ t. l   String str = in.readLine();& }8 q$ Y. J/ I2 a# o
   if (!str.equals("b2")) {
" _5 R$ z% Z9 `1 O) V* ]. J4 ]2 w' b    throw new UnsupportedEncodingException(0 t- p& D" Y- q7 M& F
      "File is not in TXT ascii format");9 N+ [# J! k/ B: ]- M6 \/ l
   }
0 m0 y$ Z  q; a, y   str = in.readLine();/ S! A# O0 T2 J( Y+ E2 t; e
   String tem[] = str.split("[\\t\\s]+");
5 \* i4 t% S5 j9 W& c4 I& q/ i   xSize = Integer.valueOf(tem[0]).intValue();0 E0 @7 r4 p9 |% B( b
   ySize = Integer.valueOf(tem[1]).intValue();8 c6 a4 ?2 K3 o6 ?9 n- a) Y
   matrix = new String[xSize][ySize];
1 J: c: c; X0 A! D6 b( T$ D   int i = 0;, w3 ?- S6 x4 i  n3 P
   str = "";! M8 Y* L5 q/ M& i6 J0 f3 c" j
   String line = in.readLine();$ `- V+ B. P" W. d
   while (line != null) {# j# t& ~7 `1 A; L' T/ |/ k
    String temp[] = line.split("[\\t\\s]+");
. y# K) L- V; U5 D0 z, R+ G    line = in.readLine();
6 I- d: ]4 b  Z) p/ O1 S7 y3 L% m    for (int j = 0; j < ySize; j++) {
2 U- o* T* [) W3 c5 i+ D- B2 ]/ r     matrix[i][j] = temp[j];& K6 H4 b7 J& Y6 K, F0 |
    }- z8 D% @% c( a4 b0 D9 @
    i++;' z' n* U; m2 n6 z
   }
* u4 l8 Q2 W$ A. K8 S   in.close();9 d6 w9 N2 M+ K) `
  } catch (IOException ex) {
  H3 i# s0 i. U( Q4 {$ p, E   System.out.println("Error Reading file");
; b! x% M0 v  e: Q   ex.printStackTrace();
' |# @: {( B' r; O0 h8 y% b   System.exit(0);
/ l4 S0 x9 h) o; d0 B5 J% F  }  g% x0 Y9 y! d* \$ c6 H  u
}
* J) O6 N9 m5 k& f/ }) P2 T public String[][] getMatrix() {
6 L2 I2 i+ w' g  return matrix;
* Q6 u+ \5 o# A- D }% v3 v+ z3 u* x/ B5 P
}
发表于 2010-8-31 08:40:14 | 显示全部楼层
请问楼主,有没有能把repast中的一个变量写入到一个txt文档的程序呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-28 17:36 , Processed in 0.016395 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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