📄 stopfile.java
字号:
/***********************************************************************
*
*
* 软件:公交路线选择软件
* 作者:李蛟
* 学校:浙江工业大学计本
* 邮箱:joke_leee@163.com
*
* 说明:本软件是用于查询市公交路线选择的软件。
* 本软件在对相应文件进行修改后可用于任何类似各个城市的公交路线等的查询。
* 除了用于商业需经得本人同意外,你可以学习使用甚至修改。
* 第一次发布,难免很多的错误和不足,欢迎有兴趣的朋友批评指正,发现问
* 题请与本人联系,咱们可以交流交流!
*
*
***********************************************************************/
/***********************************************************************
*
*此文件对站点的数据进行读入,生成数据结构
*
***********************************************************************/
//package query;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class StopFile
{
//打开站点文件
public StopFile(){}
/*************************站点的文件结构****************
*short int stopnum //站点数量
*
*loop{
* short int busnum;
* short int buses[];
*}
*******************************************************/
//得到一个站点的车次链表
public boolean readFile()
{
try{
if(!this.openFile())return false;
m_stopNum=stopReader.readShort();
m_busNumPerStop=new short[m_stopNum];
m_busesPerStop=new short[m_stopNum][];
for(int i=0; i<m_stopNum; ++i)
{
m_busNumPerStop[i]=stopReader.readShort();
m_busesPerStop[i]=new short[m_busNumPerStop[i]];
for(int j=0; j<m_busNumPerStop[i]; ++j)
{
m_busesPerStop[i][j]=stopReader.readShort();
}
}
this.closeFile();
}catch(Exception e)
{
//System.out.println("reading StopFile ; error occur!!!!!!!!!!!!!!!!!1!");
return false;
}
return true;
}
//close file
public void closeFile()
{
try{
stopReader.close();
}catch(Exception e)
{
//System.out.println("closeing StopFile ; error occur!!!!!!!!!!!!!!!!!!");
}
stopReader=null;
}
public boolean openFile() throws Exception
{
try{
stopReader=new DataInputStream(getClass().getResourceAsStream("stop.db"));
//stopReader=new DataInputStream(new FileInputStream("stop.db"));
}catch(Exception e)
{
//System.out.println("opening StopFile ; error occur!!!!!!!!!!!!!!!!!!!!!!");
return false;
}
return true;
}
public void reset()
{
m_stopNum=0;
m_busNumPerStop=null;
m_busesPerStop=null;
stopReader=null;
}
public short getBusNumOnStop(int index)
{
if(index<m_stopNum)
return m_busNumPerStop[index];
else return -1;
}
public short getBusIDOnStop(int i_stop, int i_bus)
{
if(i_stop<m_stopNum && i_bus<m_busNumPerStop[i_stop])
return m_busesPerStop[i_stop][i_bus];
else return -1;
}
/***********attribute*****************/
private short m_stopNum;//总的站点数量
private short []m_busNumPerStop=null;
private short [][]m_busesPerStop=null;
DataInputStream stopReader=null;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -