java常用的文件读写操作

现在算算已经做java开发两年了,回过头想想还真是挺不容易的,java的东西是比较复杂但是如果基础功扎实的话能力的提升就很快,这次特别整理了点有关文件操作的常用代码和大家分享

1.文件的读取(普通方式)

(1)第一种方法

[java] view plain copy

  1. File f=new File("d:"+File.separator+"test.txt");
  2. InputStream in=new FileInputStream(f);
  3. byte[] b=new byte[(int)f.length()];
  4. int len=0;
  5. int temp=0;
  6. while((temp=in.read())!=-1){
  7. b[len]=(byte)temp;
  8. len++;
  9. }
  10. System.out.println(new String(b,0,len,"GBK"));
  11. in.close();

这种方法貌似用的比较多一点

(2)第二种方法

[java] view plain copy

  1. File f=new File("d:"+File.separator+"test.txt");
  2. InputStream in=new FileInputStream(f);
  3. byte[] b=new byte[1024];
  4. int len=0;
  5. while((len=in.read(b))!=-1){
  6. System.out.println(new String(b,0,len,"GBK"));
  7. }
  8. in.close();

2.文件读取(内存映射方式)

[java] view plain copy

  1. File f=new File("d:"+File.separator+"test.txt");
  2. FileInputStream in=new FileInputStream(f);
  3. FileChannel chan=in.getChannel();
  4. MappedByteBuffer buf=chan.map(FileChannel.MapMode.READ_ONLY, 0, f.length());
  5. byte[] b=new byte[(int)f.length()];
  6. int len=0;
  7. while(buf.hasRemaining()){
  8. b[len]=buf.get();
  9. len++;
  10. }
  11. chan.close();
  12. in.close();
  13. System.out.println(new String(b,0,len,"GBK"));

这种方式的效率是最好的,速度也是最快的,因为程序直接操作的是内存

3.文件复制(边读边写)操作

(1)比较常用的方式

[java] view plain copy

  1. package org.lxh;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileOutputStream;
  5. import java.io.InputStream;
  6. import java.io.OutputStream;
  7. public class ReadAndWrite {
  8. public static void main(String[] args) throws Exception {
  9. File f=new File("d:"+File.separator+"test.txt");
  10. InputStream in=new FileInputStream(f);
  11. OutputStream out=new FileOutputStream("e:"+File.separator+"test.txt");
  12. int temp=0;
  13. while((temp=in.read())!=-1){
  14. out.write(temp);
  15. }
  16. out.close();
  17. in.close();
  18. }
  19. }

(2)使用内存映射的实现

[java] view plain copy

    1. package org.lxh;
    2. import java.io.File;
    3. import java.io.FileInputStream;
    4. import java.io.FileOutputStream;
    5. import java.nio.ByteBuffer;
    6. import java.nio.channels.FileChannel;
    7. public class ReadAndWrite2 {
    8. public static void main(String[] args) throws Exception {
    9. File f=new File("d:"+File.separator+"test.txt");
    10. FileInputStream in=new FileInputStream(f);
    11. FileOutputStream out=new FileOutputStream("e:"+File.separator+"test.txt");
    12. FileChannel fin=in.getChannel();
    13. FileChannel fout=out.getChannel();
    14. //开辟缓冲
    15. ByteBuffer buf=ByteBuffer.allocate(1024);
    16. while((fin.read(buf))!=-1){
    17. //重设缓冲区
    18. buf.flip();
    19. //输出缓冲区
    20. fout.write(buf);
    21. //清空缓冲区
    22. buf.clear();
    23. }
    24. fin.close();
    25. fout.close();
    26. in.close();
    27. out.close();
    28. }
    29. }
时间: 2024-12-12 07:25:08

java常用的文件读写操作的相关文章

Python常用的文件读写操作和字符串操作

文件读写操作 fileUtils.py # -*- coding: utf-8 -*- import os def getFileList(dir, fileList=[]):     """     遍历一个目录,输出所有文件名     param dir: 待遍历的文件夹     param filrList : 保存文件名的列表     return fileList: 文件名列表     """     newDir = dir     

Java实现Excel文件读写操作

写操作: package com.zhao.poi; import java.io.File;import java.io.FileOutputStream;import java.io.IOException; import org.apache.commons.io.FileUtils;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import

java文件读写操作类

借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装 仅仅需要在读写方法传入路径即可(可以是绝对或相对路径) 以后使用时,可以在此基础上改进,比如: 写操作: 1,对java GUI中文本框中的内容进行捕获,放在txt文本文档中 2,对各种类型数据都以字符串的形式逐行写入 3,对全局数组的内容进行写入 读操作: 获取文件行数 对逐行字符串型数据进行类型转换,放入二维数组中 为后面算法处理提供入口,但是要小心的是:不可以将行数用全局变量做计数器,否则每次读入是全局变量累加出错,应重新开始读取

php学习基础-文件系统(二) 文件读写操作、文件资源处理

一.文件的打开与关闭 /* *读取文件中的内容 * file_get_contents(); //php5以上 * file() * readfile(); * * 不足:全部读取, 不能读取部分,也不能指定的区域 * * fopen() * fread() * fgetc() * fgets() * * * * * 写入文件 * file_put_contents("URL", "内容字符串"); //php5以上 * 如果文件不存在,则创建,并写入内容 * 如果

Android数据存储——文件读写操作(File)

Android文件读写操作 一.文件的基本操作 Android中可以在设备本身的存储设备或外接的存储设备中创建用于保存数据的文件.在默认状态下,文件是不能在不同程序间共享的. 当用户卸载您的应用程序时,这些文件删除. 文件存储数据可以通过openFileOutput方法打开一个文件(如果这个)文件不存在就自动创建这个文件),通过load方法来获取文件中的 数据,通过deleteFile方法删除一个指定的文件. 1,常用方法介绍: File是通过FileInputStream和FileOutput

python进阶--文件读写操作

Python读写文件 1. open 使用open打开文件后一定要记得调用 文件对象的close()方法.比如可以用try --finally语句来确保最后能关闭文件. >>>f1 = open('thisfile.txt') >>>try: f1.read() finally: f1.close() 2. 读文件(read,readline,readlines) ①读文本文件 input = open('data','r') input.read() ②读二进制文件

C文件读写操作

C语言的文件 一.文件基本操作:        在c语言中,对数据文件的操作都是依靠文件类型指针来完成. 1.文件类型指针的定义方式:FILE *文件类型变量 2.调用fopen函数打开文件的方法: 文件类型指针变量=fopen(文件名,使用文件打开方式): 文件打开方式(12种) 文件打开方式 意义 rt 只读打开一个文本文件,只允许读数据 wt 只写打开或建立一个文本文件,只允许写数据 at 追加打开一个文本文件,并在文件末尾写数据 rb 只读打开一个二进制文件,只允许读数据 wb 只写打开

C语言文件读写操作,从文件读取数据

很早写的在linux系统下的文件读写操作,从文件中读取数据 #include <stdio.h> int ReadInfoFromFile(const char *strFile) { FILE *fp; char ch; fp = fopen(strFile, "r"); // 只读的方式打开文件 if(fp==NULL) { perror("fopen"); // 打开文件失败 打印错误信息 return -1; } ch = fgetc(fp);

【python学习笔记】pthon3.x中的文件读写操作

在学习python文件读写的时候,因为教程是针对python2的,而使用的是python3.想要利用file类时,类库里找不到,重装了python2还是使不了.在别人园子认真拜读了<详解python2和python3区别>(已收藏)之后,才发现python3已经去掉file类. 现在利用python进行文件读写的方法更加类似于C语言的文件读写操作. 如今总结如下: 一 打开文件—— f = open('poem.txt','x+'): 读过open的帮助文档,然后自己翻译了一下,现给大家分享一