File类既可以表示文件,也可以表示为文件夹

文件的创建、删除、重命名

1、文件的创建

File file=new File("new Hello.txt");//当前工程目录下

file.createNewFile();

File file=new File("bin/hello.txt");//当前工程目录下的bin文件夹下

file.createNewFile();

File file=new File("../hello.txt");//当前工程目录的上一级目录

file.createNewFile();

File file=new File("../../hello.txt");//上一级的上一级目录

file.createNewFile();

2、文件的删除

file.delete();

3、文件的重命名

(1)重命名文件

File file=new File("Hello.txt");

File nameto=new File("new Hello.txt");

file.renameTo(nameto);

(2)复制文件到指定目录(文件夹结构必须处于同一个分区,文件处于不同的分区,需要使用文件的拷贝,而不是文件的重命名)

File nameto=new File("new Hello.txt");

File nameto=new File("src/new Hello.txt");

file.renameTo(nameto);//把文件从根目录拷贝到根目录下src目录下

文件夹的创建、删除、重命名

文件夹的创建

创建单一文件夹

File folder=new File("my new folder");

folder.mkdir();//返回的是一个bool值

创建整个文件夹目录

File folder=new File("my new folder/one/two/three/main");

folder.mkdirs();

文件夹的重命名

File folder=new File("my new folder");
File newfolder=new File("my new folder-new");
folder.renameTo(newfolder);

文件夹的删除

File newfolder=new File("my new folder-new");
newfolder.delete();//删除时,当前文件夹必须是空的,否则不能被删除,删除失败,和文件的删除不同

文件属性的读取

  1. package com.jingchenyong.io;
  2. import java.io.File;
  3. public class FileTest1 {
  4. public static void main(String[] args) {
  5. File file=new File("text.txt");
  6. //判断文件是否存在
  7. System.out.println("判断文件是否存在"+file.exists());
  8. //读取文件名称
  9. System.out.println("读取文件名称"+file.getName());
  10. //读取文件路径(相对路径)
  11. System.out.println("读取文件路径"+file.getPath());
  12. //读取文件绝对路径
  13. System.out.println("读取文件绝对路径"+file.getAbsolutePath());
  14. //读取文件的父级路径
  15. System.out.println("读取文件的父级路径"+new File(file.getAbsolutePath()).getParent());
  16. //读取文件的大小
  17. System.out.println("读取文件的大小"+file.length()+"byte");//字节
  18. //判断文件是否被隐藏
  19. System.out.println("判断文件是否被隐藏"+file.isHidden());
  20. //判断文件是否可读
  21. System.out.println("判断文件是否可读"+file.canRead());
  22. //判断文件是否可写
  23. System.out.println("判断文件是否可写"+file.canWrite());
  24. //判断文件是否为文件夹
  25. System.out.println("判断文件是否为文件夹"+file.isDirectory());
  26. }
  27. }

文件属性的设置

//将文件设定为可写
file.setWritable(true);
//将文件设定为可读
file.setReadable(true);
//将文件设定为只读
file.setReadOnly();

遍历文件夹

  1. package com.jingchenyong.io;
  2. import java.io.File;
  3. public class FileTest2 {
  4. public static void main(String[] args) {
  5. // TODO Auto-generated method stub
  6. printFiles(new File("C:/Users/jingchenyong/Desktop/desktop"),1);
  7. //绝对路径
  8. //printFiles(new File("H:/Users/jingchenyong/Workspaces/MyEclipse 8.6/Test"));
  9. //相对路径
  10. //printFiles(new File("../Test"),1);
  11. }
  12. public static void printFiles(File dir,int tab){
  13. if(dir.isDirectory()){
  14. File next[]=dir.listFiles();//返回的file对象的数组的数组
  15. for(int i=0;i<next.length;i++){
  16. for(int j=0;j<tab;j++){
  17. System.out.print("|--");
  18. }
  19. System.out.println(next[i].getName());
  20. if(next[i].isDirectory()){
  21. printFiles(next[i],tab+1);
  22. }
  23. }
  24. }
  25. }
  26. }

文件的简单读写

  1. package com.jingchenyong.io;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileNotFoundException;
  7. import java.io.FileOutputStream;
  8. import java.io.IOException;
  9. import java.io.InputStreamReader;
  10. import java.io.OutputStreamWriter;
  11. import java.io.UnsupportedEncodingException;
  12. public class FileTest3 {
  13. public static void main(String[] args) {
  14. // TODO Auto-generated method stub
  15. //读
  16. File file=new File("text.txt");//位于工程目录下
  17. if(file.exists()){
  18. System.err.println("exist");
  19. try {
  20. FileInputStream fis=new FileInputStream(file);//获取文件的输入流(字节流)
  21. InputStreamReader isr=new InputStreamReader(fis,"utf-8");//(字符流)
  22. BufferedReader br=new BufferedReader(isr);//带有缓冲的
  23. String line;
  24. while((line=br.readLine())!=null){
  25. System.out.println(line);
  26. }
  27. br.close();
  28. isr.close();
  29. fis.close();
  30. } catch (FileNotFoundException e) {
  31. // TODO Auto-generated catch block
  32. e.printStackTrace();
  33. } catch (UnsupportedEncodingException e) {
  34. // TODO Auto-generated catch block
  35. e.printStackTrace();
  36. } catch (IOException e) {
  37. // TODO Auto-generated catch block
  38. e.printStackTrace();
  39. }
  40. }
  41. //写
  42. try {
  43. File newfile=new File("next.txt");
  44. FileOutputStream fos=new FileOutputStream(newfile);
  45. OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");
  46. BufferedWriter bw=new BufferedWriter(osw);
  47. //覆盖写入
  48. bw.write("jingchenyong1\r\n");
  49. bw.write("jingchenyong2\r\n");
  50. bw.write("jingchenyong3\r\n");
  51. bw.write("jingchenyong4\r\n");
  52. bw.write("jingchenyong5\r\n");
  53. bw.close();
  54. osw.close();
  55. fos.close();
  56. } catch (FileNotFoundException e) {
  57. // TODO Auto-generated catch block
  58. e.printStackTrace();
  59. } catch (UnsupportedEncodingException e) {
  60. // TODO Auto-generated catch block
  61. e.printStackTrace();
  62. } catch (IOException e) {
  63. // TODO Auto-generated catch block
  64. e.printStackTrace();
  65. }
  66. }
  67. }

Java之file操作的更多相关文章

  1. Java文件File操作一:文件的创建和删除

    一.简述 File 文件类,主要对文件进行相关操作.常用的File操作有:文件(夹)的创建.文件(夹)的删除,文件的读入和下载(复制)等: 二.文件(夹)的创建和删除 1.创建过程 实例: //cre ...

  2. Java文件IO操作应该抛弃File拥抱Paths和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  3. Java的IO操作---File类

    目标 1)掌握File类作用 2)可以使用file类中方法对文件进行读写操作. File类 唯一与文件有关的类.使用file类可进行创建或删除操作,要想使用File类,首先观察File类的构造方法. ...

  4. JAVA实现File类中的遍历操作并输出内容

    package shb.java.testIo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...

  5. Java文件IO操作应该抛弃File拥抱Path和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  6. java.io.File类操作

    一.java.io.File类 String path="E:/222/aaa";//路径 String path1="aaa.txt"; File file= ...

  7. 【java】文件操作java.io.File

    package 文件操作; import java.io.File; import java.io.IOException; public class TestFile { public static ...

  8. java的文件操作类File

    java.io.File类,是java获取文件/文件夹的所有属性,和完成所有相关操作的类 例子: package test.file.IO; import java.io.*; public clas ...

  9. Java IO_001.File类--文件或文件夹相关操作

    Java IO之File对象常用操作 File类:用于文件或文件夹或网址相关联的操作.可以关联或不关联文件(即关联不存在的文件).构造函数有: public File(String pathname) ...

随机推荐

  1. Spring注解原理的详细剖析与实现

    本文主要分为三部分: 一. 注解的基本概念和原理及其简单实用 二. Spring中如何使用注解 三. 编码剖析spring@Resource的实现原理 一.注解的基本概念和原理及其简单实用 注解(An ...

  2. 存储过程系列三:根据表别名方式distinct去重插入

    1.根据表别名方式distinct去重插入 insert into GG_XKZ_YLQXSCXKESL_SCDZ           ( bzj, xkzid,  sqid, jtdz, szsf, ...

  3. IntelliJ IDEA 2016.1注册码

    IntelliJ IDEA 2016.1刚发布不久,破解注册的方法是在太少,15的注册URL也不管用,真是很头疼... 幸好发现一枚注册码,感谢sanshi的奉献精神!!! 原文链接:    http ...

  4. 51nod1934:受限制的排列 (分治+组合数)

    对于一个  11 到  nn 的排列  p1,p2,⋯,pnp1,p2,⋯,pn ,我们可以轻松地对于任意的  1≤i≤n1≤i≤n 计算出  (li,ri)(li,ri) ,使得对于任意的  1≤L ...

  5. [ZJOI 2012] 网络

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2816 [算法] 对每种颜色的边建一棵LCT , 维护联通性即可 时间复杂度 : O( ...

  6. Ubuntu16.04 + cuda9.0 + cudnn7.1.4 + tensorflow安装

    安装前的准备 UEFI 启动GPT分区 Win10和Ubuntu16.04双系统安装 ubuntu16.04 NVIDIA 驱动安装 ubuntu16.04 NVIDIA CUDA8.0 以及cuDN ...

  7. PowerDesigner:导出SQL脚本以及问题解决

    在PowerDesigner中点击DataBase  -----------> Generate Datebase  -----(可以点击Preview预览sql语句)------->设置 ...

  8. 确认框的使用。弹出一个确认框,Ajax提交一个请求,刷新页面。

    视图: <td> @if (item.ReviewProject.DeclareState == DeclareOrReviewState.正在进行 && !item.Is ...

  9. Android调试之TraceView

    TraceView 在应用运行时,可以使用Debug类打开操作日志记录功能,打开后Android会详细记录应用花在每个线程以及线程的每个函数的调用时间.操作日志记录完毕后,可以使用Android SD ...

  10. python之文件的读写(1)

    真的崩溃,刚写完的笔记由于点错了,现在特么又要重新写了.  崩溃呀.......... 之前的废话就不再重复了,直接进入正题吧. 今天小R 学了一天的NP课程,但是python还是不能忘得,所以晚上又 ...