`
哎a丫
  • 浏览: 1318 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

java文件读写

    博客分类:
  • java
阅读更多

 一、java读文件的多种方式:

    1、以字节的方式,每次读取一个字节

 

		try {
                         //str1为文件路径
			FileInputStream fip=new FileInputStream(str1);  
                         int n=0
			while((n=fip.read())!=-1){  //fip.read()方法,读取的时候是一个字节一个字节读取的
                              System.out.println(n);
			}
			fip.close();    //输入流如水龙头一样,不用时要将其关闭,不然会一直在读取状态
		} catch (FileNotFoundException e) {
			// TODO: handle exception
			System.out.println("没有找到文件!");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

    2、以行为单位,一次读一行。如上所说read()方法每次制度一个字节,读取的文件小一点还能忍,文件一大,运行起来特别慢,耗费时间。因此还是偏向于用一行行读的读取方式。

try {
			FileInputStream fip =new FileInputStream(str1);   //str1为读取的文件路径
			BufferedReader bfr=new BufferedReader(new InputStreamReader(fip));  //如果单纯的使用fip.read()一个字节一个字节的读取,则比较耗费时间,采用BufferedReader则可以一行行的读取
			String data=null;
			try {
				while((data=bfr.readLine())!=null){
					System.out.println(data);
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

 二、上面是读取文件的两种方法,下面插入写入文件的方法,

	File file=new File(str);
		try {
			FileOutputStream fop=new FileOutputStream(file);  //创建输出流对象
			String s="hello,word!";
			byte[] b=new byte[1024];
			b=s.getBytes();    //将String类型的s字符串以字符的形式赋给字节数组
			try {
				fop.write(b, 0, b.length);
				fop.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

 三、复制文件方法

			try {
			FileInputStream fip=new FileInputStream(str1);
			FileOutputStream fop=new FileOutputStream(str2);
			BufferedReader bfr=new BufferedReader(new InputStreamReader(fip));
			String s=null;
			while((s=bfr.readLine())!=null){
				byte[] b=new byte[1024];
				b=s.getBytes();
				fop.write(b, 0, b.length);
			}
			fop.close();
			bfr.close();
		} catch (FileNotFoundException e) {
			// TODO: handle exception
			System.out.println("没有找到文件!");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics