英文:
Reading a text that has multiple new lines
问题
以下是您要翻译的内容:
我有以下文本:
我的名字是Omer
//新行
我想开始我的个人项目并取得很大的成就
//新行
//新行
在我前进的过程中我也会遇到问题,但我知道我会克服它们
//新行
好的
再见
//新行
再见
那就是上面的示例,我还想使用一个BufferedReader。
假设我的BufferedReader叫做br。
使用br.readLine(),我可以从控制台读取行(我将输入每个字母,我还使用InputStreamerReader)
如果我做如下操作:
String line;
do {
line = br.readLine();
} while(line.lenght != 0)
它会在我输入一个新行后停止。
如何正确读取这段文本?(我认为这是我在这里的第一个问题,对于我可能犯的任何错误,对此表示抱歉)
英文:
I have the following text:
My name is Omer
//new line
I want to start my own personal project and achieve a lot with it
//new line
//new line
I also have problems that I encounter along the way but I know I will overcome them
//new line
Good
Bye
//new line
Bye
So that was the example above, I also want to use a BufferedReader.
Let's say my BufferedReader is called br.
Using br.readLine(), I can read lines from the console(I will input every single letter, I also use an InputStreamerReader)
If I do for example:
String line;
do {
line = br.readLine();
} while(line.lenght != 0)
It will stop after I enter a new line.
How can I read that text correctly? (I think that this is the first question that I ask here, sorry for any mistakes that I have maybe made)
答案1
得分: 1
你可以使用:
String line;
while((line=br.readLine())!=null) {
// 在这里编写你的代码..
}
注意: 不要使用 do-while
,使用 while
。你的输入可能从一开始就是空的,你不希望出现 Null Pointer Exception。
英文:
You can use:
String line;
while((line=br.readLine())!=null) {
// your code here..
}
Note: don't do do-while
, use while
. Your input may be empty from the beginning, and you don't want to have a Null Pointer Exception.
答案2
得分: 0
只使用readlines
而不是readline
,因为readline
只读取一行并返回。
String line;
do {
line = br.readLines();
} while(line.length() != 0)
英文:
just use readlines as readline just reads one line and return
String line;
do {
line = br.readLines();
} while(line.lenght != 0)
答案3
得分: 0
BufferedReader#readLine
在没有可读内容时返回 null
,因此以下代码将有效:
while ((line = br.readLine()) != null) {
// 对 line 做一些处理
}
Files.lines
或 Files.readAllLines
可以用于简化此操作。
如果你正在从控制台读取输入,你可以输入字符串 "exit" 表示程序应该停止读取。
while (!(line = br.readLine()).equalsIgnoreCase("exit")) {
// 对 line 做一些处理
}
英文:
BufferedReader#readLine
returns null
when there is nothing left to read, so the following will work:
while((line=br.readLine())!=null){
//do something with line
}
Files.lines
or Files.readAllLines
can be used to simplify this.
<hr/>
If you are reading input from the console, you can enter a string like "exit" to indicate that the program should stop reading.
while(!(line=br.readLine()).equalsIgnoreCase("exit")){
//do something with line
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论