Android文件读操作

举报
SHQ5785 发表于 2024/06/21 09:06:19 2024/06/21
【摘要】 Android中文件的读写操作与Java中文件的读写操作是有区别的。在Java中,读文件操作如以下代码所示:public class FileRead {private static final String filePath = "E:/SHQ/workspace/TT/中国火车查询字段对应表.txt";public static void main(String [] args) thr...

Android中文件的读写操作与Java中文件的读写操作是有区别的。在Java中,读文件操作如以下代码所示:

public class FileRead {


private static final String filePath = "E:/SHQ/workspace/TT/中国火车查询字段对应表.txt";


public static void main(String [] args) throws IOException{

String from_station = "济南";

String to_station = "北京";

readFile(filePath,from_station,to_station);

}


private static String [] readFile(String filepath, String from_station, String to_station) throws IOException{


Map<String, String> map = new HashMap<String, String>();

String s;

String [] data = null;


FileReader fileReader = null;

try {

File inputFile = new File(filepath); 

fileReader = new FileReader(inputFile);

BufferedReader bf = new BufferedReader(fileReader);

while ((s = bf.readLine()) != null){

data = s.split(":");

map.put(data[0], data[1]);

}

data[0] = map.get(from_station);

data[1] = map.get(to_station);

System.out.println(data[0] + ">>>>>>>>>>>>>"  + data[1]);

return data;


catch (FileNotFoundException e) {

e.printStackTrace();

return null;

catch (IOException e) {

e.printStackTrace();

return null;

}finally{

fileReader.close();

}

}

}

而在Android开发中则不然!在Android开发中,读文件操作代码如下图所示:

public void search(View source){


// 获取输入的数值时,一定要将获取内容的语句放在按键触发式的方法内

from_station = from_station_name.getText().toString().trim();

to_station = to_station_name.getText().toString().trim();


String res = null;

byte[] buffer = null;

try {

InputStream in = getResources().getAssets().open(fileName);

//返回读取的大概字节数

int length = in.available();

buffer = new byte[length];

in.read(buffer);

catch (IOException e) {

e.printStackTrace();

}

res = EncodingUtils.getString(buffer, "GBK");


Map<String, String> map = new HashMap<String, String>();

String[] trainsInfo = null;

String[] medium = null;


//读取火车查询字段对应表(根据调试信息得出)

trainsInfo = res.split("\r\n");

for ( String str: trainsInfo){

medium = str.split(":");

map.put(medium[0], medium[1]);

}


from_station = map.get(from_station);

to_station = map.get(to_station);


url = "https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate="

queryDate

"&from_station="

from_station

"&to_station="

to_station;

Spider spider = new Spider(this);

spider.execute(url);

}

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。