解决方案 »

  1.   

    package nuatar.com.purelotus;import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Environment;
    import android.os.Handler;
    import android.os.Message;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.net.URL;import nuatar.com.purelotus.BaseRoot.BookSort;
    import nuatar.com.purelotus.BaseTools.DataResource;
    import nuatar.com.purelotus.BaseTools.FileMan;
    import nuatar.com.purelotus.BaseTools.IDownloadListener;
    import nuatar.com.purelotus.BaseTools.MultiDownloader;
    import nuatar.com.purelotus.BaseUtils.PLApplication;
    import nuatar.com.purelotus.UserView.BuddhaViewInfo;
    public class Activity_Main extends Activity {
        TextView tv;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.aty_test);
            tv= (TextView) findViewById(R.id.test_text);
            Button bt= (Button) findViewById(R.id.test_button);
            bt.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String path=Environment.getExternalStorageDirectory()+"/PureLotus/book/阿含部/T01n0001.txt";
                    File file=new File(path);
                    long length=file.length();                try {
                        InputStreamReader reader=new InputStreamReader(new FileInputStream(path),"GBK");
                        reader.skip(length-8);
                        char[] temp=new char[8];
                        reader.read(temp);
                        String result=String.copyValueOf(temp);
                        tv.setText(result);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            });
        }
        public class MyThread implements Runnable{
            @Override
            public void run() {        }
        }
    }
      

  2.   

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/test_button" />    <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/test_scroll" >        <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="Medium Text"
                android:id="@+id/test_text" />
        </ScrollView>
    </LinearLayout>
    对应的Layout文件内容,文件内容为一个488k的文件
      

  3.   

    大家可以试验一下,InputStream相关类型和RandomAccessFile的区别,后者可以取到内容,但是前者不行
      

  4.   

    应该是在读取中就发生了异常退出了, 你看下e.printStackTrace();中的信息呢?
      

  5.   

    问题最后定位出来是,中文String的长度,和文件长度不是同一回事,失算咯
      

  6.   

    一般android在处理大文件读取都放在后台处理,初始化只是做些简单的事