java菜鸟一只,求助!!!我想将字符串写入txt中,可是test.txt中是空的啊,哪儿有错???

publicclassjbx1{publicstaticvoidmain(Stringargs[])throwsIOException{FileInputStreamfi... public class jbx1{
public static void main(String args[]) throws IOException {
FileInputStream fis=new FileInputStream("C:\\acm.txt");
BufferedInputStream bis ;
DataInputStream dis=new DataInputStream(fis);
String file = "C:\\acm.txt";
BufferedReader br=new BufferedReader(new FileReader(file));
try {
String str1=null;

BufferedWriter br1 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("C:\\T\\test.txt")));

while ((str1=br.readLine())!=null) {
if(str1.length()>=1)
//if(str1.substring(str1.length()-1, str1.length()).equals("0"))
if(str1.charAt(str1.length()-1)!='0')
br1.write(str1);
//tpw.print((char) ch);

System.out.println(str1);

}
} catch (IOException e) {
e.printStackTrace();
}
dis.close();

}
}
展开
 我来答
有点像是你
2013-10-18 · TA获得超过108个赞
知道答主
回答量:92
采纳率:0%
帮助的人:59.5万
展开全部
在 br1.write(str1);

//tpw.print((char) ch);

后面
加上 br1.flush ();

意思是刷新内存缓冲区,并将它写入文件
如果少了这句,那么读取到的内容仅仅存在内存中,并未写入文件。

哦,还有C:\\T\\test.txt
这是什么格式的文件路径,报错了吧
追问
木有报错,还有,我想每写完一个str1,就换行怎么实现?
追答
while ((str1=br.readLine())!=null) {
for ( int i = 0; i < str1.length (); i++ )
{
br1.write(str1.charAt ( i ));
br1.newLine ();
System.out.println(str1.charAt ( i ));
}
}
br1.flush ();
br1.close ();

你上面的方法明显的c语言语法习惯,还是向java编程书写习惯靠近些的好哈
希望你不要介意我的挑剔,哈哈
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式