欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    java File文件操作和文件流的详解.docx

    • 资源ID:3159438       资源大小:40.85KB        全文页数:11页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java File文件操作和文件流的详解.docx

    java File文件操作和文件流的详解一. 创建文件 最常用的 File parentFile = new File(“D:My Documents.”);/参数是一个路径的字符串。 在父目录创建一个名为child的文件对象,child 为文件对象的名字 File chileFile= new File(“D:My Documents.”,String child); 或 File chileFile= new File(parentFile,String child); 二,常见文件夹属性和方法 createNewFile; 该方法的作用是创建指定的文件。该方法只能用于创建文件,不能用于创建文 件夹,且文件路径中包含的文件夹必须存在 File file=new ("D:My Documenttext.txt"); file.createNewFile; 这样就会在D盘下的My Document 创建text.txt的记事本 mkdir; 根据File对象的名字(路径)创建一个目录(文件夹),如果是相对目录,则新建的目 录在当前目录下 mkdirs; 如果File对象名字有多级目录,则可以调用该方法一次性创建多级目录。 exists; 判断File对象指向的文件是否存在,返回一个boolean类型 isDirectory; 判断File对象指向的文件是否为目录,返回一个boolean类型的值,true或者false。 getName;获得文件名称 length; 得到File对象指向文件的长度,以字节计算,返回一个长整形的值(long);注意:在 系统中,文件夹(目录)的大小为零,也就是不占用空间,使用length时返回的是0 delete; 删除File对象所指定的文件 isFile; 判断File对象指向的文件是不是标准文件 三,文件的属性和方法 1.File.separator 当前操作系统的名称分隔符,等于字符串“”. 2.File.pathSeparator当前操作系统的路径分隔符,等于字符串“;”. 3. File file=new ("D:My Documenttext.txt"); file.canExecute;测试应用程序是否可以执行该文件; 4.File file=new ("D:My Documenttext.txt"); file.canRead;测试用用程序是否可以读取该文件 5.file.canWrite; 测试用程序是否可以修改文件 6.file.exists; 测试此抽象路径名表示的文件或目录是否存在 pareTo; 按字母顺序比较两个抽象路径。 8.file.getAbsolutePath 返回此抽象路径名的绝对路径名字字符串。 9.file.getCanonicalPath; 返回此抽象路径名的规范路径名字符串。 10.file.getName; 返回抽象路径名表示的文件和目录名称。 11.file.getParent; 返回抽象路径父目录的名字。如果此路径名没有指定父目录名字则返回 null。 12.free = file.getUsableSpace; 返回此抽象路径名指定的分区上可用于此虚拟机的字节数 13 . = file.hashCode ; 计算此抽象路径名的哈希码 14 . = file.isAbsolute; 测试此抽象路径名是否为绝对路径名 15.ong length = file.length 返回由此抽象路径名表示的文件的长度 16.String array = file2.list; 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录 17. File array1 = file2.listFiles 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件 18.File roots = File.listRoots; 列出可用的文件系统根,静态方法比如C:/,D:/ 19.file.setReadOnly 设置文件只读; 20.files.setWritable(true) 设置文件可写; 三读取文件 FileReader fr=new FileReader(参数) BufferedReader br = new BufferedReader(fr); String a=br.readLine; while(a!=null) 操作 br.close; fr.close; 四.写入文件 / 将数据写入文件 FileWriter fw = new FileWriter(%1); fw.write(%2); fw.close; 五 杂项 1,提取扩展名 String %2=(new File(%1).getName.split(".")1; 2,提取文件名 String %2=(new File(%1).getName.split("/")1; 3. 提取文件路径 String %2=(new File(%1).getPath; 4. 替换扩展名 File replaceExt=new File(%1); replaceExt.renameTo(replaceExt.getName.split(".")0+"."+%2); 例子1 .枚举一个文件夹中的所有文件夹 /import java.io.*; /import java.util.*; ArrayList<String> folderList = new ArrayList<String> folderList.add(%1); for (int j = 0; j < folderList.size; j+) File file = new File(folderList.get(j); File files = file.listFiles; ArrayList<File> fileList = new ArrayList<File> for (int i = 0; i < files.length; i+) if (filesi.isDirectory) folderList.add(filesi.getPath); else fileList.add(filesi); for (File f : fileList) %2=f.toString; %3 例子2 复制文件 int bytesum = 0; int byteread = 0; File oldfile = new File(%1); try if (oldfile.exists) /文件存在时 InputStream inStream = new FileInputStream(oldfile); /读入原文件 FileOutputStream fs = new FileOutputStream(new File(%2,oldfile.getName); byte buffer = new byte5120; int length; while ( (byteread = inStream.read(buffer) != -1) bytesum += byteread; /字节数 文件大小 System.out.println(bytesum); fs.write(buffer, 0, byteread); inStream.close; catch (Exception e) System.out.println("复制单个文件操作出错"); e.printStackTrace; 六,数据流的详细介绍 1, 在java中stream代表一种数据流,javaio的底层数据元, 2,任何能够产生流和数据源的javaio对象都看成inputStream对象,它既然可以产生流,我们就可用read的封装方法来进行 3任何能够接受数据流的对象javaio的叫做outputStream,他能就收流的数据,我们调用write方法来进行数据收集 4我们可以在inputStream和outputstram的基础上,从实际出发从新封装不同属性的输入输出数据流,javaio提供了很多丰富的输入输出对象 七,字节流和字符流的区别 1以Stream结尾的都是字节流,都已reader 和writer结尾的都是字符流,两者的区别就是一个在读写的时候按照字符,一个是按照字节 2在读写的过程当中要对内容安行进行处理,比如特定行字符或者是一行数据时一般会选择字符流 3如果对内容没有要求 一般选择字节流 八,字符流的介绍 基于Stream的字节流 DataInputStream-DataOutputStream FileInputStream-FileOutputStream 基于Stream的字符流 FileWriter-FileReader StringWriter-StringReader InputStream:是一个出水龙头的一个实物对象,该对象的read方法呢,就想成这个 出水龙头这一机制对象的开关钮,你read或openStream一下呢,就等于打开了出水龙头的按钮,水就出来了,里头封装的水是什么性质的呢,你就用相应的容器来装,如string或byte. OutputStream:你就在InputStream基础上反着想就ok了 OutputStream流 1,fo为流变量 fo.write(int b)/往流当中写入一个字符 fo.write(byte b)往流当中写乳一个字符数组 fo.write(byte b,int begin,int len) 写入数组b从下标begin开始,长度为len的字节流 2.fo.flush刷空数据流,并输出所有被缓存的字节,由于某些流支持缓存的功能,该方法吧缓存中所有的字节强制输出到流中 3,fo.close流操作完必须关闭流 InputStream 流 1,ip为输出流对象 Ip.read; 读取一个字节,返回的是一个字节 Ip.read(byte b)读取一个字节数组,返回一个字节数组串 Ip.read(byte b,int bengin,int len) 读取len个字节 从下标为begin开始 2,ip.available 返回字节流中尚未读取的字节数量 3,ip.mark(int readlimit)记录当前指针所在的位置readlimit指指针读取的第readlimit个字节后 Ip.reset把读的指针重新指向mark方法记录的位置 字节流:处理字节的输入和输出。包括读写二进制数据等方面的内容。 字符流:处理字符的输入和输出。他采用的是Unicode编码,可以实现国际化。使用字符流的另外一个好处就是:字符流比字节流更有效率。 字节流类 DataInputStream DataOutputStream ByteArrayInputStream 功能简单介绍 包含了读取Java标准数据类型的输入流 包含了写Java标准数据类型的输出流 从字节数组读取的输入流 ByteArrayOutputStream 写入字节数组的输出流 FileInputStream FileOutputStream PrintStream PushbackInputStream 从文件读入的输入流 写入文件的输出流 包含最常见的Print和Println的输出流 返回一个字节到输入流,主要用于编译器的实现 PipedInputStream PipedOutputStream SequenceInputStream 输出管道 输入管道 将n个输入流联合起来,一个接一个按一定顺序读取 RandomAccessFile BufferInputStream BufferOutputStream FilterInputStream 随机访问文件 缓冲输入流 缓冲输出流 实现了InputStream Interface FilterOutputStream InputStream OutputStream 例子3 import java.io.File; 实现了OutputStream Interface 抽象类,描述流的输入 抽象类,描述流的输入 import java.io.IOException; import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; public class StreamTest public static void main(String args) StreamTest st = new StreamTest; String writeStr = "Hello World!rn你好!" String fileName = "outFile.txt" st.OutputTest(fileName,writeStr); st.InputTest(fileName); /字节-读 private void InputTest(String fileName) File f = createFile(fileName);/创建文件对象 FileInputStream fis; byte b = new byte100;/ try System.out.println("创建输入流."); fis = new FileInputStream(f); System.out.println("创建输入流完成"); System.out.println("开始读取."); fis.read(b);/读取100个字节放在b中,通常读取的长度为b的长度,返回值为 实际读取的字节长度 System.out.println("读取完成"); String str = new String(b); System.out.println("读取内容输出:n"+str); fis.close;/关闭数据流 catch(FileNotFoundException e) System.out.println("文件没有找到"); catch(IOException e) System.out.println("读取失败"); /字节-写 private void OutputTest(String fileName,String text) File f = createFile(fileName); FileOutputStream fos; try System.out.println("创建输出流."); fos = new FileOutputStream(f); System.out.println("创建输出流完成"); byte testBArray = text.getBytes; System.out.println("开始写数据."); fos.write(testBArray); fos.flush; System.out.println("写数据完成"); fos.close; catch(FileNotFoundException e) System.out.println("文件没有找到"); e.printStackTrace; catch(IOException e) e.printStackTrace; /创建文件 private File createFile(String fileName) File f = new File(fileName); if(!f.exists) System.out.println("文件不存在"); try System.out.println("创建文件."); f.createNewFile; System.out.println("创建文件完成"); catch(IOException e) System.out.println("文件创建失败"); e.printStackTrace; else System.out.println("文件已经存在"); return f;

    注意事项

    本文(java File文件操作和文件流的详解.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开