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