我想知道如何逐字符读取文件的内容?
我尝试了这段代码
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];
}
我想在文件中输入以下内容: “纯的 世界 它 是”
我想要输出 “纯的 你好 世界 你好 它 你好 是 你好”
最佳答案
两个选项:
将读取的字符串与
System#lineSeparator
进行比较。如果您使用 Java 6 或更早版本,请使用System.getProperty("line.separator");
:String s = sc.next(); if (System.lineSeparator().equals(s)) { //... }
使用
Scanner#nextLine
将返回一个字符串,直到找到行分隔符(它将为您消耗行分隔符并将其删除),然后用空格分割字符串并处理空格之间的每个字符串。String s = sc.nextLine(); String[] words = s.split("\\s+"); for (String word : words) { //... }
请注意,在任何这些情况下,您都不需要计算 String
中的每个字符。
关于java - 如何找到新行字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377369/