从文件中读取,但我没有在android中看到?

时间:2013-12-23 11:56:03

标签: java android

我想从txt文件中读取并发送到TextView。我的方法适用于我阅读的Java项目,我看到System.out.print,但同样的方法在MainActivity中不起作用。我该如何修理。谢谢

MainActivity

    public class MainActivity extends Activity {
    TextView txt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txt=(TextView)findViewById(R.id.textView1);

        Parsing p =new Parsing();
        try {
            String gelen=p.readTxt();
            txt.setText(gelen);             
        } 
            catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }       
}

解析:

    public class Parsing {


    public String readTxt() throws FileNotFoundException
    {
         File file = new File("C:\\Users\\John\\Desktop\\try.txt");
            StringBuilder fileContents = new StringBuilder((int)file.length());
            Scanner scanner = new Scanner(file);
            String lineSeparator = System.getProperty("line.separator");

            try {
                while(scanner.hasNextLine()) {        
                    fileContents.append(scanner.nextLine() + lineSeparator);
                }
                return fileContents.toString();
            } finally {
                scanner.close();
            }
    }
}

我正在努力,但我只看到TextView

5 个答案:

答案 0 :(得分:3)

您无法将computer directory文件指定到android文件路径位置以读取其中的行。

  1. 只需将文件放入 android项目文件夹,如assests,然后更改 路径,然后尝试。

答案 1 :(得分:1)

How can I read a text file in Android?

我不是故意粗鲁,而是先尝试搜索。已经提出了类似问题的这个问题。

我希望这个链接可以帮到你。

干杯

答案 2 :(得分:0)

对于sdcard上的文件(“sdcard \ myfolder \ 1.txt”),请使用:

File file = new File(Environment.getExternalStorageDirectory(), "myfolder\1.txt");

也不要忘记:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

答案 3 :(得分:0)

您必须将文件放在项目的asset文件夹中。 然后,要访问它,您可以执行类似

的操作
BufferedReader reader = new BufferedReader(
        new InputStreamReader(getAssets().open("filename.txt")));

有关详细信息,请在此处阅读我的答案:

read file from assets

答案 4 :(得分:0)

首先, Android应用程序项目与Java项目不同。
你不能在android中使用File file = new File("C:\\Users\\John\\Desktop\\try.txt");

将您的文本文件放在Android项目下的/ assets目录中。使用AssetManager类来访问它。

AssetManager am = context.getAssets();
InputStream is = am.open("test.txt");

如果要从存储卡访问文件,请在程序中使用inputsteram is。您还需要以下权限才能阅读文本文件

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />