使用 BufferedReader 时在 String 的开头添加 Null
Null is added in the beginning of the String when using BufferedReader
我正在使用 BufferedReader
从 .txt
文件
中获取 String
BufferedReader read = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
BufferedReader count = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
String line;
String str = null;
while((line = count.readLine()) != null)
{
str += read.readLine() + "\n";
}
比我在 TextView
中显示 String
但它显示 null 而不是我的 String
nullThis is file 1
而不是
This is file 1
我该如何解决这个问题?
试试这个!
BufferedReader read = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
BufferedReader count = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
String line;
String str = "";
while((line=count.readLine())!=null)
{
str += read.readLine() + "\n";
}
您正在使用:
String str = null;
然后
str += read.readLine() + "\n";
这是
str = str + read.readLine() + "\n";
所以,在变量替换之后,我们得到:
str = null + read.readLine() + "\n";
这意味着我们将它与 null 连接起来,这会故意产生 "null"
。
尝试其中一种(只有一种):
String str = "";
String str = new String ();
您可以使用 StringBuilder
而不是 String
。它具有更好的性能,因为 String
是不可变的。
[如果希望它是线程安全的,请使用 StringBuffer
].
BufferedReader read = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
BufferedReader count = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
String line;
StringBuilder str = new StringBuilder();
while((line = count.readLine()) != null)
{
str.append(read.readLine()).append("\n");
}
像
一样初始化它
String str = "";
我正在使用 BufferedReader
从 .txt
文件
String
BufferedReader read = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
BufferedReader count = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
String line;
String str = null;
while((line = count.readLine()) != null)
{
str += read.readLine() + "\n";
}
比我在 TextView
中显示 String
但它显示 null 而不是我的 String
nullThis is file 1
而不是
This is file 1
我该如何解决这个问题?
试试这个!
BufferedReader read = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
BufferedReader count = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
String line;
String str = "";
while((line=count.readLine())!=null)
{
str += read.readLine() + "\n";
}
您正在使用:
String str = null;
然后
str += read.readLine() + "\n";
这是
str = str + read.readLine() + "\n";
所以,在变量替换之后,我们得到:
str = null + read.readLine() + "\n";
这意味着我们将它与 null 连接起来,这会故意产生 "null"
。
尝试其中一种(只有一种):
String str = "";
String str = new String ();
您可以使用 StringBuilder
而不是 String
。它具有更好的性能,因为 String
是不可变的。
[如果希望它是线程安全的,请使用 StringBuffer
].
BufferedReader read = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
BufferedReader count = new BufferedReader(
new InputStreamReader(getAssets().open(name)));
String line;
StringBuilder str = new StringBuilder();
while((line = count.readLine()) != null)
{
str.append(read.readLine()).append("\n");
}
像
一样初始化它String str = "";