JAVA从文件中写入和读取的问题...

packagetest;importjava.io.*;/**@authorKimser.Lam*/publicclassReadAndWrite{publicstati... package test; import java.io.*; /* * @author Kimser.Lam */ public class ReadAndWrite { public static void main(String[] args) throws Exception { File readDir=new File("C:\\WINDOWS\\system32"); File writeDir=new File("D:"+File.separator+"FileName3.txt"); String[] FileName=readDir.list(); //读取该目录下的所有文件名 for(int k=0;k<FileName.length;k++) System.out.println(FileName[k]); //打印出所读取的文件名 FileOutputStream fos=new FileOutputStream(writeDir);// 将文件名写入FileName.txt for(int i=0;i<FileName.length;i++) fos.write((FileName[i]+"\t").getBytes()); FileReader fr=new FileReader(writeDir); char[] name=new char[FileName.length]; fr.read(name); //从FileName3.txt中读取文件名,并存入数组name中 System.out.println(new String(name)); //打印出所读取的文件名 } } 刚读取到该目录所有文件名的时候打印出来是全部都打印出来的.但,我写入TXT文件后,再从文件中读取文件名,再打印的时候,就不能打印出全部了,只打印出前面很少的一部分.请问,这是为什么?要怎样才能打印出全部? 展开
 我来答
给力0273
2014-06-20 · 超过62用户采纳过TA的回答
知道答主
回答量:114
采纳率:50%
帮助的人:113万
展开全部
/** * 读出1.txt中的内容,写入2.txt中 * */ import java.io.*; public class ReadWriteFile{ public static void main(String[] args){ try{ File read = new File("c:\\1.txt"); File write = new File("c:\\2.txt"); BufferedReader br = new BufferedReader( new FileReader(read)); BufferedWriter bw = new BufferedWriter( new FileWriter(write)); String temp = null; temp = br.readLine(); while(temp != null){ //写文件 bw.write(temp + "\r\n"); //只适用Windows系统 //继续读文件 temp = br.readLine(); } bw.close(); br.close(); }catch(FileNotFoundException e){ //文件未找到 System.out.println (e); }catch(IOException e){ System.out.println (e); } } }
满意请采纳
业冬卉w9
2014-06-21 · TA获得超过164个赞
知道答主
回答量:191
采纳率:100%
帮助的人:68.1万
展开全部
操作完后最好加个 fos.flush(); fos.close(); 这两个操作必须要做 不然可能会产生意外错误,还有打开资源一定要记得关闭 这不光是一个好习惯,而且是很有益处的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式