Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> android 讀中文文本文件,android中文

android 讀中文文本文件,android中文

編輯:關於android開發

android 讀中文文本文件,android中文


AndroidManifest.xml中

加入:

   <!-- 在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" );

        }
    
   

    }

}

  

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved