求教各位大侠:我是java的初学者,现在在使用java进行文件操作时有问题。
问题:我在java程序中select数据库中的表(结果大约几百行),结果在屏幕上输出无误,但写入文件却是空的,求教各位大侠,java中文件写入的具体操作,望能指点一二,谢谢!
附带:部分代码
while(rs.next())
{
id=rs.getInt("ID");
type=rs.getInt("MSGTYPE");
//System.out.println("ID="+id+" "+"MSGTYPE="+type);
result="ID="+id+" "+"MSGTYPE="+type;
try
{
tofile=new FileWriter("result.txt");
out=new BufferedWriter(tofile);
//System.out.println(result);
out.write(result,0,result.length());
out.newLine();
}
catch(IOException e)
{
System.out.println("write to file fail!");
System.out.println("The error is:"+e);
}
}
问题:我在java程序中select数据库中的表(结果大约几百行),结果在屏幕上输出无误,但写入文件却是空的,求教各位大侠,java中文件写入的具体操作,望能指点一二,谢谢!
附带:部分代码
while(rs.next())
{
id=rs.getInt("ID");
type=rs.getInt("MSGTYPE");
//System.out.println("ID="+id+" "+"MSGTYPE="+type);
result="ID="+id+" "+"MSGTYPE="+type;
try
{
tofile=new FileWriter("result.txt");
out=new BufferedWriter(tofile);
//System.out.println(result);
out.write(result,0,result.length());
out.newLine();
}
catch(IOException e)
{
System.out.println("write to file fail!");
System.out.println("The error is:"+e);
}
}
楼主的问题是写的数据量太小,结束的时候没有对BufferedWriter进行flush,导致缓存的内容没有写入文件可以添加out.flush(),或者out.close()
int id;
int type;
String result;
FileWriter tofile;
BufferedWriter out;
这个在while循环内部,就是说你有几条记录,就要重新打开这个io,记录越多性能就越差了,而且一旦打开文件就会被覆盖,所以原来的内容会消失你把out=new BufferedWriter(tofile);放到while前面
在while结束之后对out进行close就可以了
int id;
int type;
String result;
FileWriter tofile;
BufferedWriter out=null;
try
{
tofile=new FileWriter("result.txt");
out=new BufferedWriter(tofile);
//System.out.println(result);
}
catch(IOException e)
{
System.out.println("write to file fail!");
System.out.println("The error is:"+e);
}
while(rs.next())
{
id=rs.getInt("ID");
type=rs.getInt("MSGTYPE");
//System.out.println("ID="+id+" "+"MSGTYPE="+type);
result="ID="+id+" "+"MSGTYPE="+type;
try
{
out.write(result,0,result.length());
out.newLine();
}
catch(IOException e)
{
System.out.println("out.write to file fail!");
System.out.println("The error is:"+e);
}
}
int id;
int type;
String result;
FileWriter tofile;
BufferedWriter out=null;
try
{
tofile=new FileWriter("result.txt");
out=new BufferedWriter(tofile);
//System.out.println(result);
}
catch(IOException e)
{
System.out.println("write to file fail!");
System.out.println("The error is:"+e);
}
while(rs.next())
{
id=rs.getInt("ID");
type=rs.getInt("MSGTYPE");
//System.out.println("ID="+id+" "+"MSGTYPE="+type);
result="ID="+id+" "+"MSGTYPE="+type;
try
{
out.write(result,0,result.length());
out.newLine();
}
catch(IOException e)
{
System.out.println("out.write to file fail!");
System.out.println("The error is:"+e);
}
}
try
{
out.close();
}
catch(IOException e)
{
System.out.println("close file fail!");
System.out.println("The error is:"+e);
}
}