将字符串写入文本文件
Write String to a text file
我有这段代码可以从输入流中获取 GPS 数据来制作测试文件,但里面什么也没有。你能告诉我这里有什么问题吗?
public void run ()
{
byte[] buffer = new byte[1024];
int len = -1;
try
{
while ( ( len = this.in.read(buffer)) > -1 )
{
String gpsInfo = new String(buffer,0,len);
PrintWriter data = new PrintWriter("test.txt");
data.println(gpsInfo);
System.out.print(gpsInfo);
}
}
catch ( IOException e )
{
e.printStackTrace();
}
}
我得到了正确的控制台输出。
你的做法其实是对的。将数据写入文本文件后,关闭 PrintWriter
实例。
data.close();
如果您想了解更多信息,请查看此 link
代码段:
PrintWriter data = new PrintWriter("test.txt");
String gpsInfo = null;
while ( ( len = this.in.read(buffer)) > -1 )
{
gpsInfo = new String(buffer,0,len);
data.println(gpsInfo);
System.out.print(gpsInfo);
}
data.close();
您在 while loop
中重复打开同一个文件。你应该在进入循环之前打开。还有 flush()
和 close()
流。
PrintWriter data = new PrintWriter("test.txt");
while((len = this.in.read(buffer)) > -1) {
String gpsInfo = new String(buffer,0,len);
data.println(gpsInfo);
System.out.print(gpsInfo);
}
data.flush();
data.close();
如果您使用的是 java 7 及更高版本,那么您可以在 try 块本身中打开文件。一旦 try 块中的代码完成,它将自动关闭。但是不要忘记 flush()
数据。
public void run () {
byte[] buffer = new byte[1024];
int len = -1;
try (PrintWriter data = new PrintWriter("test.txt")) {
while((len = this.in.read(buffer)) > -1) {
String gpsInfo = new String(buffer,0,len);
data.println(gpsInfo);
System.out.print(gpsInfo);
}
data.flush();
}
catch ( IOException e ) {
e.printStackTrace();
}
}
我有这段代码可以从输入流中获取 GPS 数据来制作测试文件,但里面什么也没有。你能告诉我这里有什么问题吗?
public void run ()
{
byte[] buffer = new byte[1024];
int len = -1;
try
{
while ( ( len = this.in.read(buffer)) > -1 )
{
String gpsInfo = new String(buffer,0,len);
PrintWriter data = new PrintWriter("test.txt");
data.println(gpsInfo);
System.out.print(gpsInfo);
}
}
catch ( IOException e )
{
e.printStackTrace();
}
}
我得到了正确的控制台输出。
你的做法其实是对的。将数据写入文本文件后,关闭 PrintWriter
实例。
data.close();
如果您想了解更多信息,请查看此 link
代码段:
PrintWriter data = new PrintWriter("test.txt");
String gpsInfo = null;
while ( ( len = this.in.read(buffer)) > -1 )
{
gpsInfo = new String(buffer,0,len);
data.println(gpsInfo);
System.out.print(gpsInfo);
}
data.close();
您在 while loop
中重复打开同一个文件。你应该在进入循环之前打开。还有 flush()
和 close()
流。
PrintWriter data = new PrintWriter("test.txt");
while((len = this.in.read(buffer)) > -1) {
String gpsInfo = new String(buffer,0,len);
data.println(gpsInfo);
System.out.print(gpsInfo);
}
data.flush();
data.close();
如果您使用的是 java 7 及更高版本,那么您可以在 try 块本身中打开文件。一旦 try 块中的代码完成,它将自动关闭。但是不要忘记 flush()
数据。
public void run () {
byte[] buffer = new byte[1024];
int len = -1;
try (PrintWriter data = new PrintWriter("test.txt")) {
while((len = this.in.read(buffer)) > -1) {
String gpsInfo = new String(buffer,0,len);
data.println(gpsInfo);
System.out.print(gpsInfo);
}
data.flush();
}
catch ( IOException e ) {
e.printStackTrace();
}
}