我需要读取很多文件并将数据插入到Ms sql中。 得到一个文件,看起来文本被// t分隔。 拆分不起作用,我甚至尝试使用“// s +”,你可以在下面的代码中看到
public void InsetIntoCustomers(final File _file, final Connection _conn)
{
conn = _conn;
try
{
FileInputStream fs = new FileInputStream(_file);
DataInputStream in = new DataInputStream(fs);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
//String strline contains readline() from BufferedReader
String strline;
while((strline = br.readLine()) != null)
{
if(!strline.contains("#"))
{
String[] test = strline.split("//s+");
if((tempid = sNet.chkSharednet(_conn, test[0] )) != 0)
{
// do something
}
}
}
// close BufferedReader
br.close();
}
我需要知道我的String []中的数据放在一个500k行的文件中。但是我的Test []得到长度1,而来自readline的所有数据都在第0位。
我使用拆分错误吗? 或者还有其他我需要看的地方吗?:
// Mir
哈哈 - 非常感谢你 - 为什么我自己也没看到。 是的。我在所有其他文件中使用\ s +。 但是感谢你指出来。答案 0 :(得分:6)
正确的正则表达式是\\s+
,带有反斜线而不是正斜杠。
您仍然可以使用\\t