设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5657|回复: 1

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

[复制链接]
发表于 2010-3-2 17:00:18 | 显示全部楼层 |阅读模式
package business;
) f  n' I; U+ G, Dimport java.io.BufferedReader;/ I% I. z& l% m* o
import java.io.FileInputStream;
- _0 `( A6 @* r6 U  S% Himport java.io.FileNotFoundException;
+ g. {0 Q4 {$ `, E5 C9 r- Jimport java.io.IOException;
0 V$ q* E: A4 v+ P- ^import java.io.InputStreamReader;
) l& @+ r- i, \import java.io.UnsupportedEncodingException;* ^$ X' Q& f3 c1 i
import java.util.StringTokenizer;
- D8 e2 t' t" n& o1 D+ `+ j' @public class TXTReader {: s3 z/ A, @' W( w
protected String matrix[][];
% [! k- A, z: z) m' U6 H protected int xSize;
1 \) b3 k) J! s7 w2 y  W& C% j; P protected int ySize;
, C/ G- h9 O2 w- d3 j public TXTReader(String sugarFile) {
% F0 j  ^2 m4 D# L  w; Q- r# J  java.io.InputStream stream = null;! A+ P  H, y7 t  k- f0 t2 E
  try {
* K4 W1 L) q) {: k4 W, p   stream = new FileInputStream(sugarFile);* p" h  F. O8 v1 ?8 d$ l$ M
  } catch (FileNotFoundException e) {8 v) |" c% ^) N% O% K9 F1 n' g2 Q
   e.printStackTrace();+ n' m( Y2 n, M6 _/ F6 e$ J1 i
  }* U4 N+ E% Q! h! u2 D, L. q
  BufferedReader in = new BufferedReader(new InputStreamReader(stream));
6 \4 V7 e. Y! [9 A( Z  init(in);: u7 T. C+ K3 K0 f$ W% _
}
& s9 y7 C5 d7 {; h, t) b, z private void init(BufferedReader in) {
/ O; c6 {* V, M  try {9 K4 m3 \/ r3 j1 y0 k
   String str = in.readLine();4 U. n! I5 L0 Z3 C
   if (!str.equals("b2")) {( N# F; t; O$ z4 |
    throw new UnsupportedEncodingException(4 y* f. _1 g& |  i. Y8 ]
      "File is not in TXT ascii format");
2 f6 d0 ?% m. E9 J+ l   }
5 b# @; ]9 B' x  I& w4 ]; X   str = in.readLine();
& K& K* f* m( `9 z& {3 e! ^# I9 I. ~   String tem[] = str.split("[\\t\\s]+");
: W% p& C+ Y1 p; P: S   xSize = Integer.valueOf(tem[0]).intValue();
4 P4 S% }- v/ w, l9 D3 T   ySize = Integer.valueOf(tem[1]).intValue();7 {/ c* K) `# a: s3 [+ C# s
   matrix = new String[xSize][ySize];
- `. Z* m) U# n& \   int i = 0;
1 C( r# k8 A. ?2 O+ m/ x0 s   str = "";
8 P; A: B; ^, Q" _* v& q   String line = in.readLine();
* F5 C, J+ t8 P: U2 a2 H   while (line != null) {
4 w- y7 P+ T. m6 I$ d1 b5 [* p  W    String temp[] = line.split("[\\t\\s]+");; Y9 ~8 J% a& C& @
    line = in.readLine();
% D! l$ S' e% ~; d2 O7 p. z3 X* g    for (int j = 0; j < ySize; j++) {! {% F8 @3 a$ m
     matrix[i][j] = temp[j];" O- P0 `3 u' H8 x
    }
" X8 {$ y( H6 H    i++;
- P" ?' ~, j9 o7 q   }
  z& v. y# h  T$ |+ t   in.close();
3 y7 y% K, T8 R) r( U1 ]! _! m/ j; l  } catch (IOException ex) {9 R' ]) `* U; Q6 X( u" @
   System.out.println("Error Reading file");
0 ~4 c# h$ `' t+ u/ b   ex.printStackTrace();
7 M3 @7 h3 ^8 x   System.exit(0);
8 m% x% s0 ^4 x* l! ~+ w, ~  }
2 e2 ~) Z* W' l: h3 d% M* m }% ]- k! }1 l; o. w! ^, T3 g+ J
public String[][] getMatrix() {( E( Z- I7 }& I% v6 P& k/ d
  return matrix;- Z  e  h( `* ]7 H; S  H
}
+ _  C' F3 L% ]}
发表于 2010-8-31 08:40:14 | 显示全部楼层
请问楼主,有没有能把repast中的一个变量写入到一个txt文档的程序呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-18 02:13 , Processed in 0.018107 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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