高手,您好:
我在写一个“Java读取本地txt文件中的数据到内存中的String类型的数组”的功能..
我才用了一个“String数组”来接收硬盘中的txt文件中存储的数据的责任的承担:
源代码如下:
static String[] bufCusUID = new String[200];
我读取本地文件的类型ReadTxt类的源代码如下:
package s_port_package_BeiJing;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class ReadTxt {
static ArrayList<String> logData = new ArrayList<String>();
static String text = null;
public static void read(String filePath) {
try {
FileReader input = new FileReader(filePath);
BufferedReader br = new BufferedReader(input);
while (( text = br.readLine()) != null) {
logData.add(text);
}
br.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void readMemoryData(String data){
logData.add(data);
}
public static void readMemoryArrayData(String[] data){
int len = data.length;
for(int i = 0;i<len;i++){
logData.add(data[i]);
}
}
}
我的代码出错的现场环境如下图:
我的编译器提示如下:
我的文件中存储的数据的内容如下:
一共是200行数据,我已经用Editplus进行过统计..
文件的路径,也没有问题..
希望得到高手的点拨:
我的代码的错误,出在什么地方...?
怎么修改...?
一位日日夜夜向着理想奔跑的筑梦者
2013年10月7日星期一晚上20点08分调试javaarraylistOutOfBoundsException数组溢出错误
我在写一个“Java读取本地txt文件中的数据到内存中的String类型的数组”的功能..
我才用了一个“String数组”来接收硬盘中的txt文件中存储的数据的责任的承担:
源代码如下:
static String[] bufCusUID = new String[200];
我读取本地文件的类型ReadTxt类的源代码如下:
package s_port_package_BeiJing;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class ReadTxt {
static ArrayList<String> logData = new ArrayList<String>();
static String text = null;
public static void read(String filePath) {
try {
FileReader input = new FileReader(filePath);
BufferedReader br = new BufferedReader(input);
while (( text = br.readLine()) != null) {
logData.add(text);
}
br.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void readMemoryData(String data){
logData.add(data);
}
public static void readMemoryArrayData(String[] data){
int len = data.length;
for(int i = 0;i<len;i++){
logData.add(data[i]);
}
}
}
我的代码出错的现场环境如下图:
我的编译器提示如下:
我的文件中存储的数据的内容如下:
一共是200行数据,我已经用Editplus进行过统计..
文件的路径,也没有问题..
希望得到高手的点拨:
我的代码的错误,出在什么地方...?
怎么修改...?
一位日日夜夜向着理想奔跑的筑梦者
2013年10月7日星期一晚上20点08分调试javaarraylistOutOfBoundsException数组溢出错误
static String[] bufCusUID = new String[199];
看看,下标好像是从0开始的
不是定义了ArrayList<String>吗?
就logData.add()就好了啊
读了200个ID,又读了200个密码,200个名字
等到你调用第二次读完 你的ArrayList就有400个字符串了你应该每次read了200个
调用一次clear
给你ReadTxt加一个clear方法