总是忘记java读写文件的代码具体怎么写,写了一个记录如下
String filename="mydict.txt";
File file=new File(filename);
//read file
if(file.exists())
{
try
{
BufferedReader br=new BufferedReader(new FileReader(file));
String temp=null;
while((temp=br.readLine())!=null)
{
System.out.println(temp);
}
}
catch(FileNotFoundException e)
{
System.err.println(e.getMessage());
}
catch(IOException e1)
{
System.err.println(e1.getMessage());
}
}
else
{
System.out.println("file does not exist...");
}
//write file, cover the old content
//write the key sentences
try
{
BufferedWriter bw=new BufferedWriter(new FileWriter(file));
String s="fdjsaifjdisaof";
bw.write(s);
bw.close();
}
catch(IOException e)
{
//.......
}
注意:bufferedwriter默认大小是说足够大,构造函数中可以定义缓冲区的大小单位应该是byte,如果把缓冲区定义的非常大,而最后没有flush的话,有可能你会发现文件中并没有内容
bufferedWriter只是把放到缓冲区中,等缓冲区满了以后才会一次写入文件中,默认缓冲区的大小是1024个字节,如果小于1024个字节的话,实际上内容都在缓冲区中,并不写入文件,这是就要调用.flush方法对缓冲区进行一次刷新,这样就算缓冲区没满也会把内容输出。
接受console输入:
java.util.Scanner sc = new Scanner(System.in);
String input = sc.next();
或
BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );
String input = br.readLine();