我必须使用文件进行工作。前64个字节必须是标题。所以我必须先读取64个字节,然后读取到文件结尾。如何使用J2ME读取和写入文件?
完整阅读文件是:
FileConnection fconn= (FileConnection) Connector.open(path+fName,Connector.READ);
InputStream is=fconn.openInputStream();
DataInputStream dis = new DataInputStream(is);
int ch;
String str = new String();
while ( (ch = dis.read()) != -1)
{
str+=((char)ch);
}
dis.close();
is.close();
完全写一个文件是:
FileConnection fconn= (FileConnection)Connector.open(path+fName,Connector.READ_WRITE);
if(!fconn.exists()){
items.alert=new Alert(" ","Select The Directory",null,AlertType.INFO);
switchDisplayable(items.alert,items.getList());
fconn.create();
}
os = fconn.openDataOutputStream();
fconn.truncate(0);
os.write(text.getBytes());
os.close();
fconn.close();
答案 0 :(得分:1)
阅读整个文件,就像你正在做的那样 然后使用它来分割从文本中读取的数据:
// Assuming `str` contains the data read from file
String header=str.substring(0,64);
String the_rest_of_file=str.substring(64);
如果你想在文件中更改某些内容,而不是在标题中,那么在编写时你不必跳过 64字节。只需编写相同的标题然后修改数据:
// Change `the_rest_of_file` somehow
// ...
os.write(header.getBytes());
os.write(the_rest_of_file.getBytes());
答案 1 :(得分:0)
使用:
DataInputStream.skipBytes()