【发布时间】:2012-07-19 05:50:28
【问题描述】:
我正在读取一个通过套接字发送的文件,然后尝试通过换行符 (\n) 将其拆分,当我读取文件时,我使用的是字节 [] 并将字节数组转换为字符串,以便我可以拆分它。
public String getUserFileData()
{
try
{
byte[] mybytearray = new byte[1024];
InputStream is = clientSocket.getInputStream();
int bytesRead = is.read(mybytearray, 0, mybytearray.length);
is.close();
return new String(mybytearray);
}
catch(IOException e)
{
}
return "";
}
这是用于尝试拆分字符串的代码
public void readUserFile(String userData, Log logger)
{
String[] data;
String companyName;
data = userData.split("\n");
username = data[0];
password = data[1].toCharArray();
companyName = data[2];
quota = Float.parseFloat(data[3]);
company = new Company();
company.readCompanyFile("C:\\Users\\Chris\\Documents\\NetBeansProjects\\ArFile\\ArFile Clients\\" + companyName + "\\"
+ companyName + ".cmp");
cloudFiles = new CloudFiles();
cloudFiles.readCloudFiles(this, logger);
}
导致这个错误
Exception in thread "AWT-EventQueue-1" java.lang.ArrayIndexOutOfBoundsException
【问题讨论】:
-
你有什么问题/麻烦/问题/疑问???
-
用
BufferedReader包裹流,有readLine方法。 -
啊,感谢您的编辑。现在请告诉我们哪一行是这个异常的原因?你的代码真的有空的 catch 块吗?
-
是的,@nhahtdh 推荐的是正确的方法。他的评论应该是一个答案。 1+
-
@nhahtdh 请将此作为答案并投反对票
标签: java regex sockets netbeans split