java io 相关常用操作详解
来源:互联网 发布:fastdfs nginx 404 编辑:程序博客网 时间:2024/05/16 17:30
File类的总结:
1.文件和文件夹的创建
2.文件的读取
3.文件的写入
4.文件的复制(字符流、字节流、处理流)
5.以图片地址下载图片
文件和文件夹
相关函数
(boolean) mkdir() 创建此抽象路径名指定的目录
(boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
(boolean) delete() 删除此抽象路径名表示的文件或目录
(boolean) createNewFile() 当不存在此路径名指定名称的文件时,创建一个新的空文件。
(boolean) mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
(boolean) delete() 删除此抽象路径名表示的文件或目录
(boolean) createNewFile() 当不存在此路径名指定名称的文件时,创建一个新的空文件。
创建文件
public static void NewFile(String pathString) {File file = new File(pathString);if (!file.exists()) {try {if (file.createNewFile()) {System.out.println("文件创建成功");}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}} else {System.out.println("文件已存在");}}
创建文件夹
public static void NewFileBox(String pathString) {File file2 = new File(pathString);if (!file2.exists()) {if (file2.mkdirs()) {System.out.println("文件夹成功");}} else {System.out.println("文件夹存在");file2.delete();//销毁文件}}
应用:
public static void main(String[] args) {NewFile("test/file.txt");NewFileBox("test/a/a/a/a");}
Writer写入文件
用FileWriter写入文件
public static void ForFileWriter(String string,String fileName) {File file = new File(fileName);try {FileWriter fWriter = new FileWriter(file);fWriter.write(string);fWriter.close();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}
用BufferedWriter写入文件
public static void ForBufferedWriter(String string,String desFile) {BufferedWriter bWriter = null;try {bWriter = new BufferedWriter(new FileWriter(new File(desFile)));bWriter.write(string.toString());bWriter.close();} catch (Exception e) {e.printStackTrace();}}
应用:
public static void main(String[] args) {ForFileWriter("用FileWriter写入文件", "test/writer1.txt");ForBufferedWriter("用BufferedWriter写入文件", "test/writer2.txt");}
Reader读取文件
用FileReader读取文件
public static void testReadByReader(String fileName){File file = new File(fileName);FileReader fis = null;try {fis = new FileReader(file);char[] arr = new char[1024 * 1000 * 6];int len = fis.read(arr);String data = new String(arr, 0, len);fis.close();System.out.println(fileName+"中按FileReader读取的文件内容是:\n"+data);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
用FileInputStream读取文件
public static void testReadByInputStream(String fileName){File file = new File(fileName);FileInputStream fis = null;try {fis = new FileInputStream(file);byte[] arr = new byte[1024 * 1000 * 6];int len = fis.read(arr);String data = new String(arr, 0, len);fis.close();System.out.println(fileName+"中按FileInputStream读取的文件内容是:\n"+data);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
用BufferedReader读取文件
public static void testReadByBufferedReader(String fileName) {BufferedReader bReader = null;String line = null;StringBuffer buffer = new StringBuffer();try {bReader =new BufferedReader(new FileReader(new File(fileName)));while ((line = bReader.readLine())!=null) {buffer.append(line).append("\n");}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}System.out.println(fileName+"中按BufferedReader读取的文件内容是:\n"+buffer.toString());}
应用:
public static void main(String[] args) {testReadByInputStream("res/我.txt");testReadByReader("res/我.txt");testReadByBufferedReader("res/我.txt");}
文件的复制操作
字符流复制
public static void FileCopy1(String readfile,String writeFile) {try {FileReader input = new FileReader(readfile);FileWriter output = new FileWriter(writeFile);int read = input.read();while ( read != -1 ) {output.write(read);read = input.read();}input.close();output.close();} catch (IOException e) {System.out.println(e);}}
字节流复制
public static void FileCopy2(String readfile,String writeFile) {try {FileInputStream input = new FileInputStream(readfile);FileOutputStream output = new FileOutputStream(writeFile);int read = input.read();while ( read != -1 ) {output.write(read);read = input.read();}input.close();output.close();} catch (IOException e) {System.out.println(e);}}
处理流复制
public static void FileCopy3(String readfile,String writeFile) {BufferedReader bReader = null;BufferedWriter bWriter = null;String line = null; try {bReader = new BufferedReader(new FileReader(new File(readfile)));bWriter = new BufferedWriter(new FileWriter(new File(writeFile)));while ((line = bReader.readLine())!=null) {bWriter.write(line);bWriter.newLine();}bWriter.close();bReader.close();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}
应用:
public static void main(String[] args) {FileCopy1("res/我.txt", "test/1.txt");FileCopy2("res/我.txt", "test/2.txt");FileCopy3("res/我.txt", "test/3.txt");FileCopy2("res/me.jpg", "test/33.jpg");}
0 0
- java io 相关常用操作详解
- Java 常用IO流操作详解
- Java 常用IO流操作详解
- Java 常用IO流操作详解
- java 常用IO操作
- java 常用IO操作
- java IO操作详解
- JAVA IO操作详解
- Java IO操作详解
- Java IO 操作相关记录
- Java IO 文件读写相关的操作
- JAVA常用IO操作(转)
- 有关java IO 常用操作复习
- java IO与网络的常用操作
- java.io.file 的常用文件操作
- java IO流的基本常用操作
- Java--IO 常用流的操作
- JAVA常用类(IO篇)-DataOutputStream详解
- Tinker 常见问题
- 第12周项目5-迷宫问题之图深度优先遍历解读
- C语言实例8——古典问题:兔子问题
- Tinker 自定义扩展
- Android 让控件在5s之后消失
- java io 相关常用操作详解
- 结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL
- Android 开源优秀 Library 推荐
- Tinker API概览
- VBScript基础:RegExp对象
- Golang简单的对象池
- Linux 下进程间的通信方式选择
- JSP九大内置对象及四个作用域???????
- 获取iOS设备键盘高度