Android--文件存取
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; } }