您的位置:首页 > 编程语言 > Java开发

Java简单文件读写

2017-11-11 11:59 323 查看
文件读写使用文件输入输出流类:FileInputStream(路径/文件名)【输入流,读文件】FileOutputStream(路径\文件名)【输出流,写文件】

写文件三部:

    1.创建一个空白文件

1
FileOutputStream fileOut=new FileOutputStream("D:\\hello.text");
    2.获取字节数据,例如键盘输入



1

//BufferedOutputStream的作用是将字节数据保存到缓冲区,可以提高效率


2

BufferedOutputStream buff=new BufferedOutputStream(System.in);//定义一个缓冲输入流对象,其内容来源于键盘


    3.写入数据

1
//不能直接使用buff对象进行写入,必须先将buff中的内容转换成字节数组中,再将字节数组的数据写入到文件中
2
byte[] b=new byte[1024];//定义一个字节数组
3
buff.read(b);//将buff中的数据存入到字节数组中
4
fileOut.write(b);//将字节数组存入文件中。
5
下面是两个方法,分别用来读取文件和写入文件读取文件



1

/**


2

* 读文件


3

* @param name 文件所在的地址和文件名字


4

* @return  一个输入缓冲流


5

*/


6

public static BufferedInputStream xwj(String name){


7

FileInputStream fileIn=null;


8

BufferedInputStream buff = null;


9

try {


10

fileIn = new FileInputStream(name);


11

buff=new BufferedInputStream(fileIn);


12

} catch (FileNotFoundException e) {


13

System.out.println("文件读取时异常");


14

e.printStackTrace();


15

}


16

System.out.println("文件读取完成");


17

return buff;


18

}


文件写入

1

/**


2

* 写文件


3

* @param name  要创建的文件的位置和名字


4

* @param buff  一个输入缓冲流


5

* @throws IOException


6

*/


7

public static void xwj(String name,BufferedInputStream buff){


8

//BufferedInputStream buff=new BufferedInputStream(System.in);//定义一个键盘输入流


9



10

FileOutputStream fileOut = null;


11

try {


12

    fileOut = new FileOutputStream(name);//在指定地址创建一个指定文件名的文件


13

}catch (FileNotFoundException e) {


14

    System.out.println("文件创建时异常");


15

e.printStackTrace();


16

} 


17



18

byte[] buffb=new byte[1024];    //定义一个字节数组用于接受键盘输入的值


19

int i1=0;


20



21

do{


22

    try {


23

i1=buff.read(buffb);//将输入缓冲流中的字节数据存储到字节数组中


24

} catch (IOException e) {


25

System.out.println("将输入缓冲流存储到字节数组时异常");


26

    e.printStackTrace();


27

}


28

    


29

    if(i1>=0){  


30

try {


31

    fileOut.write(buffb,0,i1);  //将字节数组写入文件中


32

}catch (IOException e) {


33

    System.out.println("文件写入时异常");


34

e.printStackTrace();


35

}       


36

}   


37

}while(i1>=0);


38



39

System.out.println("写入完成");


40

       buff.flush();//清空缓冲流


41

       buff.close();//关闭缓冲输出流,同时关闭文件


42

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息