Java 从文本文件读取和显示数据

Java 从文本文件读取和显示数据,java,android,Java,Android,我正试图学习如何创建应用程序,但一开始就被卡住了。我读了很多关于这个问题的话题,但仍然无法找到如何做到这一点。我想我从文本文件中读取的部分是正确的,但不知道如何显示它。有人能帮我吗?谢谢 MainActivity.java public class MainActivity extends AppCompatActivity { public void main(String[] args) throws Exception { FileReader file = new FileRe

我正试图学习如何创建应用程序,但一开始就被卡住了。我读了很多关于这个问题的话题,但仍然无法找到如何做到这一点。我想我从文本文件中读取的部分是正确的,但不知道如何显示它。有人能帮我吗?谢谢

MainActivity.java

public class MainActivity extends AppCompatActivity {

public void main(String[] args) throws Exception
{
    FileReader file = new FileReader("C:/Users/Eothen/AndroidStudioProjects/FutbolBorsasi/app/src/main/res/infobank.txt");
    BufferedReader reader = new BufferedReader(file);
    String line = reader.readLine();
    while (line != null)
    {
        line = reader.readLine();
        System.out.println("line");
    }
    reader.close();
}
activity_main.xml

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="@string/nameTextView"
    android:id="@+id/nameTextView"
    android:layout_below="@+id/ppImageView"
    android:layout_centerHorizontal="true"
    android:textSize="25sp"
    android:layout_marginTop="25dp"
    android:background="@drawable/backgroundtextview"
    android:gravity="center_vertical|center_horizontal" />
编辑:这起作用了

public class MainActivity extends AppCompatActivity {
String line;
TextView view;

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AssetManager am = getAssets();
    try {
        InputStream is = am.open("test.txt");
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        line = reader.readLine();
        view = (TextView) findViewById(R.id.nameTxt);
        view.setText(line);
    } catch (Exception e) {
        e.printStackTrace();
    }


}
您应该在文本视图中显示它,而不是在控制台中

比如:

和System.out.printlnline;将显示行,而不是该文件的文本,您必须删除

编辑:别忘了将R.id.counter更改为R.id

编辑2:

试试这个:

public void main(String[] args) throws Exception
{
    FileReader file = new FileReader("C:/Users/Eothen/AndroidStudioProjects/FutbolBorsasi/app/src/main/res/infobank.txt");
    BufferedReader reader = new BufferedReader(file);
    String line = reader.readLine();
    while (line != null)
    {
        line = reader.readLine();
        TextView view = (TextView) findViewById(R.id.nameTextView);
        view.setText(line);
    }
    reader.close();
}
您希望如何从emulator读取C驱动器上的文件?
试试看这里有很多错误。第一个是在android中没有public void mainString[]args,但是您必须在清单中声明您的主要活动,并重写activity类提供的onCreate、onStart等方法。其次,android设备或android emulator的文件系统与您的pc文件系统不同,那么C:/Users/Eothen/AndroidStudioProjects/FutbolBorsasi/app/src/main/res/infobank.txt是错误的


我建议你先开始阅读一些教程,网上有很多可用的教程,然后再试一次。

-有更多相关信息。请将文本文件放在Android项目下的/assets目录中。使用AssetManager类访问它。AssetManager am=context.getAssets;InputStream=am.opentest.txt;或者,您也可以将该文件放在/res/raw目录中,在该目录中,该文件将被索引,并且可以通过R文件中的id访问:InputStream is=getResources.openRawResourceR.raw.test;如果您需要从外部存储读取文件,而不是从应用程序读取文件,请尝试以下操作:
public class MainActivity extends AppCompatActivity {
String line;
TextView view;

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AssetManager am = getAssets();
    try {
        InputStream is = am.open("test.txt");
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        line = reader.readLine();
        view = (TextView) findViewById(R.id.nameTxt);
        view.setText(line);
    } catch (Exception e) {
        e.printStackTrace();
    }


}
line = reader.readLine();
System.out.println("line");
TextView view = (TextView) findViewById(R.id.counter);
view.setText(line);
public void main(String[] args) throws Exception
{
    FileReader file = new FileReader("C:/Users/Eothen/AndroidStudioProjects/FutbolBorsasi/app/src/main/res/infobank.txt");
    BufferedReader reader = new BufferedReader(file);
    String line = reader.readLine();
    while (line != null)
    {
        line = reader.readLine();
        TextView view = (TextView) findViewById(R.id.nameTextView);
        view.setText(line);
    }
    reader.close();
}