Posted on 2008-07-25 16:39
G_G 阅读(2149)
评论(0) 编辑 收藏 所属分类:
javaGeneral
package
uu;
import
java.io.BufferedReader;
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.InputStreamReader;
import
java.io.OutputStreamWriter;
import
java.util.ArrayList;
import
java.util.HashMap;
import
java.util.List;
import
java.util.Map;
import
java.util.regex.Pattern;
public
class
MainExc {
//
数据文本
static
String filePath
=
"
smsservice.data
"
;
//
输出文本
static
String outfile
=
"
outfile.html
"
;
//
输出 文本格式
static
String charset
=
"
GBK
"
;
//
数据逻辑 展现
static
Map
<
Pattern, String
>
map
=
new
HashMap
<
Pattern, String
>
();
static
{
map.put(Pattern.compile(
"
^XZT
"
),
"
sina
"
);
。。。。。
}
//
类型定义
static
Map
<
Pattern, String
>
maptype
=
new
HashMap
<
Pattern, String
>
();
static
{
maptype.put(Pattern.compile(
"
^3P45
"
),
"
客户端
"
);
maptype.put(Pattern.compile(
"
^6930
"
),
"
图表
"
);
......
}
//
禁止展现
static
List
<
Pattern
>
listNo
=
new
ArrayList
<
Pattern
>
();
static
{
listNo.add(Pattern.compile(
"
^9588Command$
"
));
listNo.add(Pattern.compile(
"
^5kjsCommand$
"
));
listNo.add(Pattern.compile(
"
^529901001011021$
"
));
listNo.add(Pattern.compile(
"
^529901001011022$
"
));
}
public
static
void
main(String[] args)
throws
Exception {
//
read
InputStreamReader read
=
new
InputStreamReader(
new
FileInputStream(MainExc.
class
.getClassLoader().getResource(
filePath).getPath()), charset);
//
writer
if
(MainExc.
class
.getClassLoader().getResource(outfile)
==
null
) {
new
File(MainExc.
class
.getClassLoader().getResource(
"
.
"
).getPath()
+
"
/outfile.html
"
).createNewFile();
}
OutputStreamWriter writer
=
new
OutputStreamWriter(
new
FileOutputStream(MainExc.
class
.getClassLoader()
.getResource(outfile).getPath()), charset);
//
内存 装载 处
List
<
Map
<
String, String
>>
datas
=
new
ArrayList
<
Map
<
String, String
>>
();
StringBuffer buffer
=
new
StringBuffer();
BufferedReader reader
=
new
BufferedReader(read);
String stmp
=
null
;
List
<
String
>
colName
=
new
ArrayList
<
String
>
();
//
得到 列名
if
((stmp
=
reader.readLine())
!=
null
&&
!
stmp.trim().equals(
""
)) {
//
split - > Tab
for
(String stmp2 : stmp.split(
"
"
)) {
colName.add(stmp2);
}
}
//
列数据收集
while
((stmp
=
reader.readLine())
!=
null
&&
!
stmp.trim().equals(
""
)) {
Map
<
String, String
>
data
=
new
HashMap
<
String, String
>
();
String[] sdata
=
stmp.split(
"
"
);
for
(
int
i
=
0
; i
<
colName.size(); i
++
) {
data.put(colName.get(i), sdata[i]);
}
datas.add(data);
}
//
writer
writer.append(
"
<center><table border>\n
"
);
writer.append(
"
<tr>
"
+
"
<td>通道伙伴</td>
"
+
"
<td>指令</td>
"
+
"
<td>长号码</td>
"
+
"
<td>资费</td>
"
+
"
<td>业务类型(图表/客户端)</td>
"
+
"
</tr>\n
"
);
//
通道伙伴 指令 长号码 资费 业务类型(图表?客户端?)
wfor:
for
(Map
<
String, String
>
mtmp : datas) {
for
(Pattern ptmp : listNo) {
if
(ptmp.matcher(mtmp.get(
"
command
"
)).find()) {
continue
wfor;
}
}
String hzhb
=
""
;
for
(Pattern ptmp : map.keySet()) {
if
(ptmp.matcher(mtmp.get(
"
command
"
)).find()) {
hzhb
=
map.get(ptmp);
}
}
String type
=
""
;
for
(Pattern ptmp : maptype.keySet()) {
if
(ptmp.matcher(mtmp.get(
"
command
"
)).find()) {
type
=
maptype.get(ptmp);
}
}
writer.append(
"
<tr>
"
+
"
<td align='center'>
"
+
hzhb
+
"
</td>
"
+
"
<td align='center'>
"
+
mtmp.get(
"
command
"
)
+
"
</td>
"
+
"
<td align='center'>
"
+
mtmp.get(
"
num
"
)
+
"
</td>
"
+
"
<td align='center'>
"
+
mtmp.get(
"
money
"
)
+
"
</td>
"
+
"
<td align='center'>
"
+
type
+
"
</td>
"
+
"
</tr>\n
"
);
}
writer.append(
"
</table></center>\n
"
);
//
save
writer.flush();
writer.close();
}
}