当前位置: 代码迷 >> J2EE >> java io流,该怎么解决
  详细解决方案

java io流,该怎么解决

热度:13   发布时间:2016-04-17 23:24:53.0
java io流

                FileReader fr=new FileReader(fileName);
BufferedReader br=new BufferedReader(fr);
String line=br.readLine();
FileWriter fw=new FileWriter(fileName);
PrintWriter pw=new PrintWriter(fw);
char[] c;
while(line!=null){
c=line.toCharArray();
for(int i=0;i<c.length;i++){
if(c[i]<='Z'&&c[i]>='A'){
c[i]+=32;
}else if(c[i]<='z'&&c[i]>='a'){
c[i]-=32;
}
}
pw.write(new String(c)+"\r\n");
line=br.readLine();
}
pw.close();
fw.close();
br.close();
fr.close();


                FileReader fr=new FileReader(fileName);
BufferedReader br=new BufferedReader(fr);
FileWriter fw=new FileWriter(fileName);
PrintWriter pw=new PrintWriter(fw);
                String line=br.readLine();
char[] c;
while(line!=null){
c=line.toCharArray();
for(int i=0;i<c.length;i++){
if(c[i]<='Z'&&c[i]>='A'){
c[i]+=32;
}else if(c[i]<='z'&&c[i]>='a'){
c[i]-=32;
}
}
pw.write(new String(c)+"\r\n");
line=br.readLine();
}
pw.close();
fw.close();
br.close();
fr.close();

有两段代码
为什么第二段写进去的总是空值

------解决思路----------------------
public FileWriter(String fileName,boolean append) throws IOException
这是FileWriter的另一个构造函数
append - boolean if true, then data will be written to the end of the file rather than the beginning.
append参数表示如果为true则在文件末尾写!如果为false则在文件开头写!
默认append为false!

第一种当创建了输入流就读出了数据!当创建输出流时文件内容被置为空,因为append为false;
第二种创建了输出流后接着创建输出流,此时文件已经为空了!再读出的数据就为空!

建议楼主:  既然都用PrintWriter了为什么不直接用println方法!
  相关解决方案