java - 如何找到新行字符

标签 java

我想知道如何逐字符读取文件的内容?

我尝试了这段代码

Scanner sc = new Scanner(new BufferedReader(newFileReader("C:\\saml.txt")));

while(sc.hasNext())
{
String s=sc.next();
char x[]=s.toCharArray();
for(int i=0;i<x.length;i++)
{
if(x[i]=='\n')
System.out.println("hello");
System.out.println(x[i];
}

我想在文件中输入以下内容: “纯的 世界 它 是”

我想要输出 “纯的 你好 世界 你好 它 你好 是 你好”

最佳答案

两个选项:

  1. 将读取的字符串与 System#lineSeparator 进行比较。如果您使用 Java 6 或更早版本,请使用 System.getProperty("line.separator");:

    String s = sc.next();
    if (System.lineSeparator().equals(s)) {
        //...
    }
    
  2. 使用 Scanner#nextLine 将返回一个字符串,直到找到行分隔符(它将为您消耗行分隔符并将其删除),然后用空格分割字符串并处理空格之间的每个字符串。

    String s = sc.nextLine();
    String[] words = s.split("\\s+");
    for (String word : words) {
        //...
    }
    

请注意,在任何这些情况下,您都不需要计算 String 中的每个字符。

关于java - 如何找到新行字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377369/

相关文章:

java - Z3 Java : simplify a distributive expression

java - "$CP"在此 java 命令行中意味着什么?

java 。查找数组列表中出现次数最多的字符串长度

java - EditText 上的 TextChanged

java - XPath、XML 命名空间和 Java

java - JAXB 自定义接口(interface)绑定(bind)

java - Android:使用 Intent 或 Intent 过滤器启动 Activity

java - hibernate +JPA : Schema-validation: missing column

java - 将创建的资源目录标记为Resource Root或Test resource root有什么意义?

Java泛型类型推导错误