//读取文件内容

public static String readFile(String filePathAndName) {
  String fileContent = "";
  try {  
   File f = new File(filePathAndName);
   if(f.isFile()&&f.exists()){
    InputStreamReader read = new InputStreamReader(new FileInputStream(f),"UTF-8");
    BufferedReader reader=new BufferedReader(read);
    String line;
    while ((line = reader.readLine()) != null) {
     fileContent += line;
    }   
    read.close();
   }
  } catch (Exception e) {
   System.out.println("读取文件内容操作出错");
   e.printStackTrace();
  }
  return fileContent;
 }

 

2、JAVA写入文件,避免中文乱码。

//SD卡根目录

String DATABASE_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();

//字符串解密,detail为加密字符串

String decode = URLDecoder.decode(detail);

WriteFile writeFile = new WriteFile();
writeFile.writeFile(DATABASE_PATH+ "/himi"+file_path, decode);

 

public class WriteFile {

//filePathAndName为文件存储位置和文件名(/himi/index_text.html),fileContent为字符串数据

public static void writeFile(String filePathAndName, String fileContent) {
  try {
   File f = new File(filePathAndName);
   if (!f.exists()) {
    f.createNewFile();
   }
   OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f),"UTF-8");
   BufferedWriter writer=new BufferedWriter(write);   
   //PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filePathAndName)));
   //PrintWriter writer = new PrintWriter(new FileWriter(filePathAndName));
   writer.write(fileContent);
   writer.close();
  } catch (Exception e) {
   System.out.println("写文件内容操作出错");
   e.printStackTrace();
  }
 }

}