gpt4 book ai didi

java - Android 上的 File、FileReader、BufferedReader 返回 null

转载 作者:行者123 更新时间:2023-12-02 08:09:31 25 4
gpt4 key购买 nike

我正在使用 Java 在 Android 中进行编程,其中有两个类:第一个是 MainActivity.java,第二个是 Tokenizer.java。在 Tokenizer 中,我使用 File、FileReader 和 BufferedReader 来读取 txt 文件。在本类(class)中,我使用以下代码:

package net.try.........;
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import android.content.Context;

public class Tokenizer {
BufferedReader br;
FileReader fr;
File f;

public void leerPath ( ) {

try {
f = new File("F:path...../file.txt");
fr = new FileReader(f);
br = new BufferedReader(fr);
}

catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

当调试MainActivity“f”时,文件的路径是FileReader,然后显示f为空,因此br也为空。为什么在Java中使用时代码可以工作,但Java/Android中是否有问题?

这是主要 Activity 中的代码

public class MainActivity extends MapActivity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Tokenizer ob1=new Tokenizer();
ob1.leerPath();
}
}

最佳答案

问题是您已经声明了实例变量的负载,但是您声明了本地变量的负载它“隐藏”实例变量。您正在为局部变量赋值,但这根本不会影响实例变量。

这个:

File f = new File("F:path...../file.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);

应该是:

f = new File("F:path...../file.txt");
fr = new FileReader(f);
br = new BufferedReader(fr);

假设您确实希望它们成为实例变量。为什么你需要全部三个?难道您只是需要您正在阅读的阅读器吗?

关于java - Android 上的 File、FileReader、BufferedReader 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com