Java 无法使用android程序从我的手机读取文本文件

Java 无法使用android程序从我的手机读取文本文件,java,android,Java,Android,这可能是个愚蠢的问题,但我对此感到恼火 主要问题是..我已经编写了从外部存储器读取文本文件的代码 在我的电脑里,我安装了一个叫做MEMU-like-blustaks的软件 在功能表软件中,我的程序显示了良好的效果……但当我在手机上安装该应用程序时(cool pad note 3 lite),它显示“不幸的是,该应用程序已停止” 我安装了另一部手机“MotoE”,但在那部手机上我也遇到了同样的问题 在系统软件中,它提供输出…请任何人帮助我…问题出在哪里…(系统软件是三星) 我的代码是////

这可能是个愚蠢的问题,但我对此感到恼火

主要问题是..我已经编写了从外部存储器读取文本文件的代码

在我的电脑里,我安装了一个叫做MEMU-like-blustaks的软件

在功能表软件中,我的程序显示了良好的效果……但当我在手机上安装该应用程序时(cool pad note 3 lite),它显示“不幸的是,该应用程序已停止”

我安装了另一部手机“MotoE”,但在那部手机上我也遇到了同样的问题

在系统软件中,它提供输出…请任何人帮助我…问题出在哪里…(系统软件是三星)

我的代码是////

    signal_number=1;samples=3600;shifting=180;
    File sdCard = Environment.getExternalStorageDirectory();
    String filename ;
    File dir = new File(sdCard.getAbsolutePath());
                    sample_tenSec = FileData.getData(dir, filename, signal_number,samples,shifting);
////////////////////////java代码是///////////////////////

    public class FileData {
public static Number[] getData(File dir , String filename, int signalNumber,int samples,int shifting)
{
    File file = null;
    Number[] result = new Number[samples];

    try    //Get the text file
    {
        file = new File(dir+"/"+filename);
        //file=new File("/storage//3483-14D9//ppg.txt");
        if(file.exists())
        {System.out.println("File Exists");}
        else
        {System.out.println("File Does not Exist");}
    }
    catch(Exception e1)
    {
        System.out.println("File not found.");
    }

    // Read from File
    int start = (signalNumber-1)*(int)(shifting) +1;
    int end = (start + (int) (samples)) - 1;
    int i=1,k=0;

    try
    {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;
        while ((line = br.readLine()) != null && i<=end)
        {
            if(i>=start)
            {
                try
                { result[k++]= (Double.parseDouble(line.toString())); }
                catch (NumberFormatException discardNonIntegers)
                { discardNonIntegers.printStackTrace(); }
            }
            i++;
        }
        br.close();
    }
    catch (Exception e)
    {
        System.out.println("File not reading problem.");
        //System.out.println(e.getMessage());
    }
    return result;
}
公共类文件数据{
公共静态编号[]getData(文件目录、字符串文件名、int-signalNumber、int-samples、int-Shift)
{
File=null;
编号[]结果=新编号[样本];
尝试//获取文本文件
{
文件=新文件(dir+“/”+文件名);
//file=新文件(“/storage//3483-14D9//ppg.txt”);
if(file.exists())
{System.out.println(“文件存在”);}
其他的
{System.out.println(“文件不存在”);}
}
捕获(异常e1)
{
System.out.println(“未找到文件”);
}
//从文件中读取
int start=(信号编号-1)*(int)(移位)+1;
int end=(start+(int)(samples))-1;
int i=1,k=0;
尝试
{
BufferedReader br=新的BufferedReader(新文件读取器(文件));
弦线;
while((line=br.readLine())!=null&&i=start)
{
尝试
{result[k++]=(Double.parseDouble(line.toString());}
catch(NumberFormatException非整数)
{丢弃非整数。printStackTrace();}
}
i++;
}
br.close();
}
捕获(例外e)
{
System.out.println(“文件未读取问题”);
//System.out.println(e.getMessage());
}
返回结果;
}

}如果看不到您正在使用的代码,就很难找出问题所在。只要阅读你写的段落,我猜你的权限有问题。请记住,您不仅需要在清单中包含静态权限,还需要包含运行时权限

如果需要读写,请向清单中添加以下权限:

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

此外,还需要实现运行时权限。您需要的所有信息都可以在此处找到:


请提供与问题相关的代码。否则我们真的帮不上忙。请在应用程序停止时提供代码和错误堆栈跟踪。现在请查看代码一次..请更正我…我认为代码没问题…请帮助我。。