File 如何在J2ME中加速加载资源文件

File 如何在J2ME中加速加载资源文件,file,java-me,resources,loading,File,Java Me,Resources,Loading,我正在使用J2ME无线工具包2.2编写一个J2ME应用程序 我有以下代码: public class BusReader { private String[] fileNames; private final String allFilesInfoFile = "files_in_dir"; public BusReader () { fileNames = getFileNames (); String busNo = getBusNo ("BusNo1p.bin"

我正在使用J2ME无线工具包2.2编写一个J2ME应用程序 我有以下代码:

public class BusReader
{

  private String[] fileNames;
  private final String allFilesInfoFile = "files_in_dir";

  public BusReader ()
  {
  fileNames = getFileNames ();
  String busNo = getBusNo ("BusNo1p.bin");
  }

  public String[] getAllBusFiles ()
  {
  return fileNames;
  }

  public String getBusNo (String fileName)
  {
  String[] fileLines = loadResourceFile (fileName);
  int linesCount = fileLines.length;

  for (int i=0;i<linesCount;++i)
    if (fileLines[i].equals ("[BusNo]") && i < linesCount-1)
      return fileLines[i+1];

  return null;
  }

  public String getDefaultDirection (String fileName)
  {
  String[] fileLines = loadResourceFile (fileName);
  int linesCount = fileLines.length;

  for (int i=0;i<linesCount;++i)
    if (fileLines[i].equals ("[BusDirection]") && i < linesCount-1)
      return fileLines[i+1];

  return null;
  }

  private String[] getFileNames ()
  {
  return loadResourceFile (allFilesInfoFile);
  }

  private String[] loadResourceFile (String fileName)
  {
  String content = "";

    try
    {
    Reader in = new InputStreamReader(this.getClass().getResourceAsStream(fileName), "iso-8859-2");
    StringBuffer temp = new StringBuffer(1024);
    char[] buffer = new char[1024];
    int read;

    while ((read=in.read(buffer, 0, buffer.length)) != -1)
      temp.append(buffer, 0, read);

    content = temp.toString();
    } catch (IOException e) {
    return null;
    }

  int len = content.length ();

    if (content.charAt (len-1) == '\n' && content.charAt (len-2) == '\r')
    {
    String newContent = "";

      for (int i=0;i<len-2;++i)
        newContent += content.charAt (i);

    content = newContent;
    }

  String[] fileLines = TString.Split ("\r\n", new TString(content));

  for (int i=0;i<fileLines.length; ++i)
  {
    fileLines[i] = fileLines[i].trim ();
      if (fileLines[i].length () == 0)
        fileLines[i] = "";
  }

  return fileLines;
  }
}
它将加载资源文件。函数正在加载的文件大小为:1.22KB和29KB。 问题是:如何加速加载函数(loadResourceFile)

我试图创建java类文件作为资源数据,但它超出了java内存限制。我将数组字符串[][]更改为字符串[][],并在15秒内加载到我的手机上。我想,当我将数据作为资源加载时,它会工作得更快。我的手机:诺基亚3110c我找到了。 这是以下几行(需要35秒):

if(content.charAt(len-1)='\n'和&content.charAt(len-2)='\r')
{
字符串newContent=“”;
对于(int i=0;i
loadResourceFile (String fileName)
if (content.charAt (len-1) == '\n' && content.charAt (len-2) == '\r')
{
String newContent = "";

  for (int i=0;i<len-2;++i)
    newContent += content.charAt (i);

content = newContent;
}