设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6109|回复: 1

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

[复制链接]
发表于 2010-3-2 17:00:18 | 显示全部楼层 |阅读模式
package business;
, e$ P5 H2 q- k8 j' s' ^8 X" H0 [import java.io.BufferedReader;: k. _7 F; ^; d4 @3 p6 y
import java.io.FileInputStream;9 U$ i7 F0 S2 h! V; ^3 w9 o
import java.io.FileNotFoundException;
8 k6 @6 A2 r1 n& limport java.io.IOException;
0 u9 t7 A" V. C" ^import java.io.InputStreamReader;
5 B0 D! S( W4 L! D9 J, l3 Iimport java.io.UnsupportedEncodingException;
) U5 ]# p! V7 Fimport java.util.StringTokenizer;7 }; L. a# K0 n! R; L
public class TXTReader {0 y. g) Y3 j' g# ?4 ~$ a
protected String matrix[][];
4 g$ d5 W: W/ G9 U& { protected int xSize;
+ R' _/ j* E+ d# Z7 J% S( n protected int ySize;
& Q$ y2 _( N  X2 r, I) v public TXTReader(String sugarFile) {
: v9 f3 t7 {' [% G: y- Z  java.io.InputStream stream = null;6 n# U' d5 N) j
  try {
4 i7 T8 }! b5 x+ |9 X1 J   stream = new FileInputStream(sugarFile);8 \% t9 T0 w5 u* k, S8 q" f
  } catch (FileNotFoundException e) {
$ L  V( g8 M" z% w2 a   e.printStackTrace();
4 X5 w9 T% ?5 i& m# ]  }' l0 A7 n  V- R' g9 F
  BufferedReader in = new BufferedReader(new InputStreamReader(stream));/ m2 k- O4 `; Z4 l
  init(in);
! O3 x9 S1 G  m }
! k) W/ s( U* i/ r* w private void init(BufferedReader in) {
- N2 u' [$ n4 D; E" k8 K8 n  try {; D% ]6 C" n' f8 Q8 ?) h0 c. e
   String str = in.readLine();& H% h% ]/ [) w2 d+ e- ~1 u
   if (!str.equals("b2")) {
6 g9 ^. W7 @* A; I    throw new UnsupportedEncodingException(
4 ^% l& c+ e- a4 [. }+ z      "File is not in TXT ascii format");& \0 `; t. J5 W' J' |8 _
   }- Q2 V! ^9 G5 o7 m: Y. v9 S4 l
   str = in.readLine();
* M- |( e6 b+ R, T8 o7 z   String tem[] = str.split("[\\t\\s]+");' r1 u8 L, q: E1 S+ c& ?4 a2 w& A
   xSize = Integer.valueOf(tem[0]).intValue();
; m$ N* }4 M* c/ a7 x. S* o& N+ Q4 r   ySize = Integer.valueOf(tem[1]).intValue();
' [/ x. b  u& ]   matrix = new String[xSize][ySize];, X8 s- N7 @7 H
   int i = 0;
$ R$ U2 K0 F8 {1 ]   str = "";
; p6 G+ N/ F8 j) H% C. m% q+ C& u' I   String line = in.readLine();
4 f, s+ q+ K/ H   while (line != null) {4 U; u5 u3 _0 E, b8 q8 c
    String temp[] = line.split("[\\t\\s]+");; ~: f5 t8 N% m4 r  O
    line = in.readLine();3 J  h2 F" @6 o6 _8 N
    for (int j = 0; j < ySize; j++) {
0 W( |& L0 V- d- }     matrix[i][j] = temp[j];
0 ?; ?9 s) d- V: c    }/ J, ?& H, F  _) k- b% U, x6 A2 q( l) O
    i++;
1 L/ a$ ?2 ?. i! Z: y   }  _: R1 b- W' t* j, w- k
   in.close();
1 i) b- o$ B; @9 A6 k. C  } catch (IOException ex) {: A" ]: C" K4 w4 Q9 l# p
   System.out.println("Error Reading file");
; ]! J3 z, ~6 w" M  S  {% u   ex.printStackTrace();
7 k+ C  A7 o  ~% ^   System.exit(0);3 [  g8 G; v/ H
  }0 V* T# z" M0 j
}
- a+ t6 l7 r: w4 k) z, `" [ public String[][] getMatrix() {
  _0 J' C0 d1 u1 Y# O; d0 f% Q5 S  return matrix;
& l$ X) ?- I  M. b" `, I7 T }, f: q9 ~+ l- k& Z7 o
}
发表于 2010-8-31 08:40:14 | 显示全部楼层
请问楼主,有没有能把repast中的一个变量写入到一个txt文档的程序呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-11 15:34 , Processed in 0.013808 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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