文件写入:
private void addFile(String requestUrlStr){
String filePath = Environment.getExternalStorageDirectory()
.getAbsolutePath() + File.separator + "RequestHistory" + File.separator;
String fileName = filePath+"saveAnswer.txt";
File file = null;
try {
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
file=new File(fileName);
if (!file.exists()){
Files.createParentDirs(file);
if (file.createNewFile()){
writeAppend(fileName,requestUrlStr);
}
}else {
writeAppend(fileName,"\n"+requestUrlStr);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void writeAppend(String fileName, String requestUrlStr){
FileWriter writer = null;
try {
writer = new FileWriter(fileName, true);
writer.write(requestUrlStr);
}catch (IOException e){
e.printStackTrace();
}finally {
try {
if(writer != null){
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
文件读取:
private String readStringFromFile(String fileName){
StringBuilder sb = new StringBuilder("");
try {
//打开文件输入流
FileInputStream inputStream = new FileInputStream(fileName);
byte[] buffer = new byte[1024];
int len = inputStream.read(buffer);
//读取文件内容
while(len > 0){
sb.append(new String(buffer,0,len));
//继续将数据放到buffer中
len = inputStream.read(buffer);
}
//关闭输入流
inputStream.close();
} catch (IOException e1) {
e1.printStackTrace();
}
return sb.toString();
}