import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;import org.apache.http.util.EncodingUtils;
import android.app.Activity;
import android.content.Context;/**
* Write and read data at ./data/data/packageName/files/
*
* @author yurf
*/
public class FileCache {
/**
* write file to ./data/data/packageName/files/
*
* @param fileName
* filename
* @param message
* string to save
* @param context
*/
public static void writeFileData(String fileName, String message,
Context context) {
String content = message;
try {
FileOutputStream outputStream = context.openFileOutput(fileName,
Activity.MODE_PRIVATE);
outputStream.write(content.getBytes());
outputStream.flush();
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}/**
* write file to ./data/data/packageName/files/
*
* @param fileName
* @param values
* @param context
*/
public static void writeFileData(String fileName, byte[] values,
Context context) {try {
FileOutputStream outputStream = context.openFileOutput(fileName,
Activity.MODE_PRIVATE);
outputStream.write(values);
outputStream.flush();
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}/**
* read file from ./data/data/packageName/files/
*
* @param fileName
* @param context
* @return
*/
public static String readFileData(String fileName, Context context) {
String content = "";
try {
FileInputStream inputStream = context.openFileInput(fileName);
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
int length = inputStream.available();
byte[] bytes = new byte[length];
inputStream.read(bytes);
arrayOutputStream.write(bytes, 0, bytes.length);
inputStream.close();
arrayOutputStream.close();
content = EncodingUtils.getString(arrayOutputStream.toByteArray(),
"UTF-8");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return content;
}
}
Android--文件存取