我正在尝试读取 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
split 结果:好2
长度:1
当我尝试按空格分割字符串时,我得到了相同的字符串。
文本文件列表位于:http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/6010/zip/imm6010.zip
解决方案:使用.split("\t");
再次感谢大家的帮助!
最佳答案
文本文件中的值与单词之间用制表符分隔。 这应该会给你预期的结果:
String[] split_text = text.split("\t");
关于java - 在 Servlet 中读取文件并拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255455/