从 Android 中的文本文件中读取双精度类型的数据
Read data of type double from a text file in Android
我想从先前指定的文件夹中读取保存在 .txt 文件中的双精度类型的数据。我已经实现了以下代码来读取数据,然后将它们放入名为 savg1 的 double 类型数组中。当我 运行 我的应用程序时,它会崩溃并且应用程序停止。我尝试逐步调试应用程序,发现当代码到达 savg1[i] = Double.parseDouble(str).
时发生崩溃
public void filereader()
{
InputStream is=this.getResources().openRawResource(R.raw.nums);
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String str=null;
int i=0;
try
{
if (is !=null)
{
str=br.readLine();
while (str != null) {
savg1[i] = Double.parseDouble(str);
i++;
str=br.readLine();
}
is.close();
br.close();
}
} catch (IOException e)
{
e.printStackTrace();
}
}
我是 Android 开发的新手,请原谅我的基本问题。谁能指导我如何解决这个问题?
使用以下代码从您的文件中读取数据。请注意,在此方法中,每个数字都应在单独的行中:
double svg1[] = new double[10];
try {
InputStream is = getResources().openRawResource(R.raw.data);
DataInputStream dis = new DataInputStream(is);
while (dis.available() > 0) {
String test = dis.readLine();
double a = Double.parseDouble(test);
}
}catch (Exception e){
e.printStackTrace();
}
You can use file scanner for reading double type data saved in a text file as bellow:
public void fileReader(){
Scanner scan;
File file = new File("resources\scannertester\data.txt");
int idx = 0;
try {
scan = new Scanner(file);
while(scan.hasNextDouble())
savg1[idx++] = scan.nextDouble();
} catch (FileNotFoundException error) {
error.printStackTrace();
}
scan.close();
}
我想从先前指定的文件夹中读取保存在 .txt 文件中的双精度类型的数据。我已经实现了以下代码来读取数据,然后将它们放入名为 savg1 的 double 类型数组中。当我 运行 我的应用程序时,它会崩溃并且应用程序停止。我尝试逐步调试应用程序,发现当代码到达 savg1[i] = Double.parseDouble(str).
时发生崩溃public void filereader()
{
InputStream is=this.getResources().openRawResource(R.raw.nums);
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String str=null;
int i=0;
try
{
if (is !=null)
{
str=br.readLine();
while (str != null) {
savg1[i] = Double.parseDouble(str);
i++;
str=br.readLine();
}
is.close();
br.close();
}
} catch (IOException e)
{
e.printStackTrace();
}
}
我是 Android 开发的新手,请原谅我的基本问题。谁能指导我如何解决这个问题?
使用以下代码从您的文件中读取数据。请注意,在此方法中,每个数字都应在单独的行中:
double svg1[] = new double[10];
try {
InputStream is = getResources().openRawResource(R.raw.data);
DataInputStream dis = new DataInputStream(is);
while (dis.available() > 0) {
String test = dis.readLine();
double a = Double.parseDouble(test);
}
}catch (Exception e){
e.printStackTrace();
}
You can use file scanner for reading double type data saved in a text file as bellow:
public void fileReader(){
Scanner scan;
File file = new File("resources\scannertester\data.txt");
int idx = 0;
try {
scan = new Scanner(file);
while(scan.hasNextDouble())
savg1[idx++] = scan.nextDouble();
} catch (FileNotFoundException error) {
error.printStackTrace();
}
scan.close();
}