我正在尝试读取servlet中的文件,这是通过以下代码完成的:
ServletContext context = getServletContext();
InputStream is = context.getResourceAsStream("/AFINN-111.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
PrintWriter pw = resp.getWriter();
String text = "";
我正在尝试拆分字符串,例如:
好2
优秀3
字符串总是有英文单词和数字值,我正试图将这些值存储在ArrayList
中,例如:
ArrayList<String> words = new ArrayList<String>();
ArrayList<Integer> values = new ArrayList<Integer>();
现在,问题在于我正在尝试拆分值:
while ((text = reader.readLine()) != null)
{
resp.getWriter().println(text + "<br />");
resp.getWriter().println("<br />");
String[] split_text = text.split(" ");
//resp.getWriter().println(split_text.length + "<br />");
for(int j = 0 ; j < split_text.length; j++)
{
resp.getWriter().println(split_text[j] + " <br />");
}
resp.getWriter().println("<br />");
resp.getWriter().println("<br />");
}
字符串:好2
分裂结果:好2
长度:1
当我尝试按空格分割字符串时,我得到相同的字符串。
文本文件列表位于:http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/6010/zip/imm6010.zip
解决方案:使用.split(“\ t”);
再次感谢大家的帮助!
答案 0 :(得分:1)
看起来text
变量有“good&amp; nbsp2”而不是“good 2”
good 2
看起来像good 2
,因为 
代表HTML中的single space
编辑:您可以说text.split(" ");
仍然将其拆分
答案 1 :(得分:1)
文本文件中的值用单词中的选项卡分隔。 这应该给你预期的结果:
String[] split_text = text.split("\t");
答案 2 :(得分:1)
我猜文件中有空格/ t而不是空格