文件写入:public FileOutputStream(String name, boolean append) throws FileNotFoundException创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
import java.io.*;
public class Demo{
public static void main(String[] args){
boolean isWrite = writeFile("D://Java//cc.txt");
System.out.println(isWrite?"写入成功":"写入失败");
}
private static boolean writeFile(String fileName){//返回boolean
try{
BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
bw.write("you have written something down"); //写入
bw.flush(); //清除缓冲区
bw.close(); //关闭文件
return true;
}catch(IOException e){
return false;
} }}
文件读出:用filereader 来读取文件的常用方法是:
filereader fr = new filereader("mydata.txt");
bufferedreader br = new bufferedreader(fr);
用 br.readline() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。
读取文件内容并转换为字符串:
String FileName="d:/2.txt";
File myFile=new File(FileName);
if(!myFile.exists()) {
System.err.println("Can't Find " + FileName);
}
try {
BufferedReader in = new BufferedReader(new FileReader(myFile));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
}
catch (IOException e) {
e.getStackTrace();
}
import java.io.*;
public class Test {
public static void main(String[] args){
String s = new String();
String s1 = new String();
try {
BufferedWriter output = new BufferedWriter(new FileWriter("E://123.txt")); //写入流
output.write(s1); //s1为写入的字符串
output.close();
BufferedReader input = new BufferedReader(new FileReader("E://123.txt")); //读取流
while((s = input.readLine())!=null){ //判断是否读到了最后一行
System.out.println(s);
}
input.close();
} catch (IOException e) {
} } }
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteToDoc {
/**
* 功能:
* 1.接受键盘的输入,并原样输出到屏幕上
* 2.将键盘的输入数据按顺序存放到文档中
* 使用方法:java WriteToDoc 文件存放位置
* 要结束此程式,在行的开始部分输入一个#号
*/
public static void main(String[] args) {
byte[] buffer=new byte[1024];
boolean cont=true; //循环控制变量
FileOutputStream outfile=null; //文档输出对象
//生成对象outfile,准备输出到文档
try{
outfile=new FileOutputStream(args[0]);
}catch(FileNotFoundException e)
{
System.out.println("File Not Found!");
System.exit(1);
}
//行首没有输入句号时执行以下循环
while(cont){
try{
//从控制台读入数据
int n=System.in.read(buffer);
System.out.println(n);//输出到控制台
if(buffer[0]=='#'){
cont=false;
} else{
outfile.write(buffer, 0, n);
}
}catch(Exception e) {
System.exit(1);
} }
try{
outfile.close();
}catch(IOException e) {
System.err.println("文档错误");
System.exit(1);
} }}
分析:FileOutputStream的write方法原型: public void write(byte[] b,int off,int len) throws IOException 第一个参数:表示从哪里读取数据;第二个参数:表示数据从什么地方开始写,比如如果数据为"hahatest",而off=4的话,则写到文本里边的是test;第三个参数:写入数据的长度,本例中n=System.in.read得到的,假如输入的数据为"haha",则n=6,因为加了一个换行进去,如果想把输入不同行的数据最后写到一行里边,需要n-2。