java如何从字符串中一行一行的取内容
发布网友
发布时间:2022-09-19 12:55
我来回答
共5个回答
热心网友
时间:2023-10-28 00:24
提问者所说的字符串准确来说叫做流,通过readline方法整行读取
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
热心网友
时间:2023-10-28 00:24
public class ReadString {
public static void main(String[] args) {
String str ="1001"+"\n"+"1002"+"\n"+"1003"+"\n"+"asdf";
//用回车键来分隔几个元素
String[] ss = str.split("\n");
for (int i = 0; i < ss.length; i++) {
System.out.println(ss[i]);
}
}
}
追问我用的方法和你的一样,但是现在有一个问题,在截取的时候回车键也被截取进去了,要怎么去掉这个回车键呢?
热心网友
时间:2023-10-28 00:25
你 这个字符串可以修改吗?比如加入;什么的将它们分开。如果可以可先加入一个符号将它们分开下,再split(";")得到字符串数组,再操作数组。如果不行,那么你这个字符串就是这一个吗?且固定吗?如果固定的话,可以substring截取。暂时这样想的,可以对你的字符串做具详细的解释不?
热心网友
时间:2023-10-28 00:25
package web;
import java.util.Arrays;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] str = new String[4];
for (int i = 0; i < str.length; i++) {
str[i] = scanner.nextLine();
}
System.out.println(Arrays.toString(str));
}
}
热心网友
时间:2023-10-28 00:26
public static void main(String[] args){
String str = "1001\r1002\r1003\rsadfafggghg";
String[] arr = str.split("\r");
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
}