File myFile = new File(
Environment.getExternalStorageDirectory().getAbsolutePath(),
"Notes/test.txt"
);
BufferedReader br = new BufferedReader(new FileReader(myFile));
String line = br.readLine();
while ((line = br.readLine()) != null) {
b = line.split(",");
xpoints = new int[b[0].length()];
ypoints = new int[b[1].length()];
for (int i = 1; i < b[0].length(); i++) {
xpoints[i] = Integer.parseInt(b[0]);
ypoints[i] = Integer.parseInt(b[1]);
}
/*direction(xpoints, ypoints);*/
}
br.close();
这里,我从b [0]和b [1]得到X和Y值。我想将这些值存储在整数数组中(如int [] x和int [] y)。我可以如前所述在数组中获取所有这些值吗?
答案 0 :(得分:4)
您应该将String
解析为int
,如:
x[i] = Integer.parseInt(str);
表示每个String
元素的每个int
表示
注意提供str
虽然只有整数,因为否则会抛出NumberFormatException
。
答案 1 :(得分:0)
您可以在循环中迭代String
数组,然后将值存储在相同大小的int
数组中。
int[] intArray = new int[b.length];
for(int i = 0; i < b.length; i++){
try{
intArray[i] = Integer.parseInt(b[i]);
catch(NumberFormatException e){
//handle exception
}
}
答案 2 :(得分:0)
您可以使用Integer.parseInt()方法将字符串转换为整数。你必须通过每个字符串数组元素来使用上面的方法。以下代码可以根据您的要求在任何地方使用。
int[] x = new int[2];
x[0] = Integer.parseInt(b[0]);
x[1] = Integer.parseInt(b[1]);
答案 3 :(得分:0)
在你的while语句中进行拆分时,请执行以下操作:
String[] b = line.split(splitsby);
int[] intArray = new int[b.length];
for (int stringIndex = 0; stringIndex < b.length; stringIndex++) {
intArray[stringIndex] = Integer.parseInt(b[stringIndex]);
}
System.out.println("X = " + intArray[0] + " Y = " + intArray[1]);
这假设b中的每个值都可以解析为Integer
答案 4 :(得分:0)
由于您不知道从文件中获取的元素的确切大小,我建议您创建一个ArrayList。
Arralist<Integer> a=new ArrayList<Integer>();
Arralist<Integer> b=new ArrayList<Integer>();
然后
File myFile = new File(Environment
.getExternalStorageDirectory().getAbsolutePath(),
"Notes/test.txt");
BufferedReader br = new BufferedReader(new FileReader(myFile));
String line=br.readLine();
String splitsby = ",";
while ((line = br.readLine()) !=null) {
String[] b=line.split(splitsby);
System.out.println("X = "+b[0]+" Y = "+b[1]);
a.add(Integer.parseInt(b[0]);
b.add(Integer.parseInt(b[1]);
}
br.close();
答案 5 :(得分:0)
您可以添加此方法:
private ArrayList<Integer> getIntegerArray(ArrayList<String> stringArray) {
ArrayList<Integer> result = new ArrayList<Integer>();
for(String stringValue : stringArray) {
try {
// convert String to Integer and store it into integer array list
result.add(Integer.parseInt(stringValue));
} catch (NumberFormatException nfe) {
// System.out.println("Could not parse " + nfe);
Log.w("NumberFormat", "Parsing failed! " + stringValue + " can not be an integer");
}
}
return result;
}
答案 6 :(得分:-1)
的Integer.parseInt(B [0]); 有关更多信息,请参阅Javadoc。