import java.io.*;
public class IOTest {
public static void main(String [] args){
File file =new File("E:/IOTest");
BufferedReader in =null;
Writer out =null;
try{
in= new BufferedReader(new InputStreamReader(new FileInputStream(file)));
out =new OutputStreamWriter(new FileOutputStream(file));
out.write("++++++++++++++++++++++");
}catch(IOException e){
e.printStackTrace();
}
}
}
运行上面的程序时报错:java.io.FileNotFoundException: E:\IOTest (系统找不到指定的文件。)把程序改成如下时:
import java.io.*;
public class IOTest {
public static void main(String [] args){
File file =new File("E:/IOTest");
if(!file.exists()){
System.out.println("++++++++");
try{
file.createNewFile();
}catch (IOException e){
e.printStackTrace();
}
}
BufferedReader in =null;
Writer out =null;
try{
in= new BufferedReader(new InputStreamReader(new FileInputStream(file)));
out =new OutputStreamWriter(new FileOutputStream(file));
out.write("++++++++++++++++++++++");
}catch(IOException e){
e.printStackTrace();
}
}
}
没有报错,但IOTest是空的。求前辈指点一二
public class IOTest {
public static void main(String [] args){
File file =new File("E:/IOTest");
BufferedReader in =null;
Writer out =null;
try{
in= new BufferedReader(new InputStreamReader(new FileInputStream(file)));
out =new OutputStreamWriter(new FileOutputStream(file));
out.write("++++++++++++++++++++++");
}catch(IOException e){
e.printStackTrace();
}
}
}
运行上面的程序时报错:java.io.FileNotFoundException: E:\IOTest (系统找不到指定的文件。)把程序改成如下时:
import java.io.*;
public class IOTest {
public static void main(String [] args){
File file =new File("E:/IOTest");
if(!file.exists()){
System.out.println("++++++++");
try{
file.createNewFile();
}catch (IOException e){
e.printStackTrace();
}
}
BufferedReader in =null;
Writer out =null;
try{
in= new BufferedReader(new InputStreamReader(new FileInputStream(file)));
out =new OutputStreamWriter(new FileOutputStream(file));
out.write("++++++++++++++++++++++");
}catch(IOException e){
e.printStackTrace();
}
}
}
没有报错,但IOTest是空的。求前辈指点一二
得有扩展名才对,如: test.txt
我把IOTest改成了IOTest.txt结果还是一样
out.flush();
....
out.close();
out.flush();
out.Close();
2、不要忘记在finally中关闭两个流
3、跟.txt没关系,.txt只是windows下确认文本文件的方式,在其他系统中,如:unix,linux中,是没有意义的,只是作为文件名的一部分而已,在windows中即使不是.txt也可以用文本编辑器打开,如记事本
4、建议用PrintWriter代替Writer,因为PrintWriter类有writeUTF()方法可以写字符串,还可以写各种基本类型,不过PrintWriter也是有缓冲的,也需要flush()