设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9300|回复: 1

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

[复制链接]
发表于 2010-3-2 17:00:18 | 显示全部楼层 |阅读模式
package business;$ y1 ]5 t1 _6 y. t" v+ {* v3 d
import java.io.BufferedReader;
# w6 K% [( E% _; s% R1 D' z7 @import java.io.FileInputStream;. T  D. u5 p0 j
import java.io.FileNotFoundException;. W; c- @0 L/ e0 @4 S6 D
import java.io.IOException;+ ~2 p9 U4 I2 ^! |+ \) \
import java.io.InputStreamReader;! L+ l0 w9 O% J3 T
import java.io.UnsupportedEncodingException;
; S8 F5 o/ m- kimport java.util.StringTokenizer;
+ C& P, G7 j( S  d  u5 O  _public class TXTReader {; [. ^$ O+ a, I8 ?( G6 r* s5 ?
protected String matrix[][];
% h, J5 t* m( J1 V1 u protected int xSize;$ P/ s; }. h- V% b- o4 p* i8 E
protected int ySize;
$ b% E9 g4 C) g* m1 O$ H public TXTReader(String sugarFile) {0 p* l/ O9 F! K# T' C9 O
  java.io.InputStream stream = null;6 G! O  F7 F. N
  try {
: G+ p8 o0 e+ j   stream = new FileInputStream(sugarFile);/ e, L! R9 |* F+ s6 f
  } catch (FileNotFoundException e) {% \) g1 i2 |! m1 S7 D# v1 K3 ]7 g# S' Q
   e.printStackTrace();( k% y; z0 _: ^: t
  }
# \1 H1 g/ ^2 Q+ m6 e  BufferedReader in = new BufferedReader(new InputStreamReader(stream));
" T6 g  [0 _- a  init(in);
/ ]) n! h% J. [" _ }$ {) q1 C1 X6 x2 H
private void init(BufferedReader in) {0 n  P! H) `/ I/ t5 _' [5 P
  try {
' o3 P& d: @- Z6 i- s4 X. h   String str = in.readLine();; ~$ B& L: j5 d( W: I
   if (!str.equals("b2")) {; k! _5 C9 l8 \8 m& u
    throw new UnsupportedEncodingException(/ V  v6 s9 y" m
      "File is not in TXT ascii format");- g( d' _$ A! o  J. K+ Y
   }* o, `7 E8 z+ x5 V5 J! r
   str = in.readLine();
8 c# y" b( A: ~# z. w& N/ e9 P! w   String tem[] = str.split("[\\t\\s]+");6 Y8 B! ~% J, D- _  {/ o' t
   xSize = Integer.valueOf(tem[0]).intValue();
" E2 D# P9 f$ P# U   ySize = Integer.valueOf(tem[1]).intValue();
1 x$ ?: M+ I% s, c7 {- j" z7 b   matrix = new String[xSize][ySize];
9 P" i5 R0 x5 O% a$ Y   int i = 0;( [7 ~/ {+ j& E3 j( F. |& U
   str = "";: h) `/ d9 W+ q3 Z5 y' p- W
   String line = in.readLine();9 V) y. y2 i4 ]( _' {
   while (line != null) {8 z$ f! G1 R* m6 @3 l" ]
    String temp[] = line.split("[\\t\\s]+");' H. ~2 M2 S: ^( x3 f
    line = in.readLine();! L8 D  i( e" h: j6 L# n2 h
    for (int j = 0; j < ySize; j++) {
& h6 J3 I- i0 E" M4 u/ K- u' |     matrix[i][j] = temp[j];- j. C2 W+ K4 m" J  l
    }: M, v+ n0 a0 b5 ^/ B
    i++;
9 @# v1 L/ b1 f/ n' f0 _/ I! @$ X- j   }
; P# ~' L+ D$ \- u3 ]1 A7 \   in.close();2 y, m5 i+ U& x2 M% D8 R7 `1 f, y0 J
  } catch (IOException ex) {
# C/ Z3 B3 m" q$ t4 f   System.out.println("Error Reading file");+ x7 V$ }3 V3 Z2 s8 P
   ex.printStackTrace();
9 ]& [1 G) A* ~) g( F/ B7 w   System.exit(0);
% u9 a7 ?" Z8 C3 Q0 t* X  }
1 E- U7 \! h7 T, n% M" G4 K }3 v+ Q) k6 W8 v4 ^* B
public String[][] getMatrix() {" V: i. p7 ^4 S. z9 c
  return matrix;
6 x$ G* D( @% w4 ? }$ t  O0 z' L3 m4 T$ r, _1 I
}
发表于 2010-8-31 08:40:14 | 显示全部楼层
请问楼主,有没有能把repast中的一个变量写入到一个txt文档的程序呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-13 19:49 , Processed in 0.014244 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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