java - 在 Servlet 中读取文件并拆分字符串

标签 java

我正在尝试读取 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/

相关文章:

java - 如何使用DOM获取具有某些属性的节点的数量

java - 什么 API 可以使用 Java 将复选框添加到 MS Word 文件?

java - 在线性布局的 subview 中设置值

Java 包含不能按预期工作,因为 "someString"!= "someString"

java - 如何在 scala 上使用 Java API 创建 Elasticsearch 聚合

java - 有没有直接的方法来计算原始字段的大小?

java - 如何使用 OpenCSV 将 bean 写入 CSV,而不转换为 String[]?

java - Java中的Base32编码UUID

java - CloseableHttpClient 连接池关闭

java - 更快地找到邻居索引的方法