你的位置:首页 > 操作系统

[操作系统]android 读中文文本文件


AndroidManifest.

加入:

  <!-- 在SDCard中创建与删除文件权限 -->  <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>  <!-- 往SDCard写入数据权限 -->  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

package com.example.yanlei.wifi;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.text.method.ScrollingMovementMethod;import android.view.Menu;import android.widget.TextView;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;public class MainActivity extends AppCompatActivity {  TextView txt = null;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    txt = (TextView)findViewById(R.id.txt_show);    txt.setMovementMethod(ScrollingMovementMethod.getInstance());    ShowMessage("ok2");    //readtxt();    readExcel();    ShowMessage("ok3");  }  @Override  public boolean onCreateOptionsMenu(Menu menu) {    // Inflate the menu; this adds items to the action bar if it is present.    //getMenuInflater().inflate(R.menu.main, menu);    return true;  }  /**   * 获取内置SD卡路径   *   * @return   */  public String getInnerSDCardPath() {    File sdDir = null;    boolean sdCardExist = Environment.getExternalStorageState()        .equals(android.os.Environment.MEDIA_MOUNTED);  //判断sd卡是否存在    if (sdCardExist) {      sdDir = Environment.getExternalStorageDirectory();//获取跟目录    }    String Path = sdDir.toString();    return Path;  }  public String getSDPath() {    List<String> lResult = new ArrayList<String>();    try {      Runtime rt = Runtime.getRuntime();      Process proc = rt.exec("mount");      InputStream is = proc.getInputStream();      InputStreamReader isr = new InputStreamReader(is);      BufferedReader br = new BufferedReader(isr);      String line;      while ((line = br.readLine()) != null) {        if (line.contains("extSdCard")) {          String[] arr = line.split(" ");          String path = arr[1];          File file = new File(path);          if (file.isDirectory()) {            lResult.add(path);          }        }      }      isr.close();    } catch (Exception e) {    }    int num=lResult.size();    //ShowMessage("外盘的个数:"+num);    if (num>0) {      return lResult.get(0).toString();    }    else    {      return "";    }  }  /* @param path 文件夹路径    */  public static boolean isExist(String path) {    File file = new File(path);    //判断文件夹是否存在,如果不存在则创建文件夹    if (!file.exists()) {      //file.mkdir();      return false;    }    return true;  }  //判断文件是否存在  public boolean fileIsExists(String strFile) {    try {      File f = new File(strFile);      if (!f.exists()) {        return false;      }    } catch (Exception e) {      return false;    }    return true;  }  public void ShowMessage(String str) { //    new AlertDialog.Builder(this)        .setMessage(str)        .setPositiveButton("确定",            new DialogInterface.OnClickListener() {              public void onClick(DialogInterface dialoginterface, int i) {                //按钮事件              }            })        .show();  }  public String getFilePath() {    String path = getSDPath();    if (path!="") {      if (isExist(path + "/qqq.txt")) {        return path;      }    }    path = getInnerSDCardPath();    if (isExist(path + "/qqq.txt")) {      return path;    }    return path;  }  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),"gbk");        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;  }  public void readtxt() {    {      String path=getFilePath();      ShowMessage("路径:"+path);      if (path=="")      {        ShowMessage("文件:"+path+"/qqq.txt"+"不存在");        return;      }      ShowMessage("11111111111111111111" );      ShowMessage(readFile(path + "/qqq.txt"));      ShowMessage("222222222" );    }      }}