java文件(文件夹)操作
java中文件操作
判断是否为文件file.isFile()方法
判断是否为目录file.isDirectory()方法
判断是否存在file.exist()方法
创建新文件file.createNewFile()
删除文件file.delete()
重命名file.renameTo(new File("Desktop/javatester.txt"));windows环境下需要注意不能直接跨盘操作
写文件为什么最后要用close()方法关闭流?
不调用此方法,可能系统还没有完成所有数据的写操作,程序执行完毕结束,导致流中的最后一些数据没有写入文件,这取决于操作系统的繁忙程度和硬盘IO效率。
而添加close(方法后,close()方法为程序一部分,close()执行前必须数据流写完毕,然后执行close(),最后程序再结束
写少量文本内容时,用FileWriter类还可以,但是大量数据时,最好用BufferedWriter
package com.starain.io;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileOperation {
public static void main(String[] args) throws IOException {
File file1 = new File("D:\\hello4.txt");
File file2 = new File("D:\\hello4.txt");
if(file1.exists()){//判断file1文件是否存在
file1.delete();//删除file1文件
}
/*测试file1是否已经删除*/
if(file1.exists()){
System.out.println("file existed");
}else {
System.out.println("had been deleted");
}
/*如果file2不存在则创建file2,然后命名为test5.txt*/
if(!file2.exists()){
//抛出异常
try {
file2.createNewFile();//创建文件
System.out.println("文件已经创建");
} catch (IOException e) {
System.out.println("文件无法创建");
}
if(file2.isFile()){
//重命名
File name = new File("D:\\test5.txt");
file2.renameTo(name);
}
/*写文件*/
//FileWriter形式,不带缓冲,适合内容较少时
String pathName1 = "D:/test5.txt";
FileWriter filewriter1 = new FileWriter(pathName1);//可能抛出异常,所以用throw IOException或者try{}catch{}
filewriter1.write("This is a test program\n");
filewriter1.write("hello world");
filewriter1.close();//因为程序执行较快,但是文件读写较慢,
//不调用close()方法可能造成文件正在写时(未写完),程序执行完,写操作便终止,一些数据未写上去
//BufferedWriter高效的缓冲器流类
String pathName2 = "D:\\test6.txt";//文件不存在时自动创建,存在时覆盖旧文件
BufferedWriter filewriter2 = new BufferedWriter(new FileWriter(pathName2));
/*String pathName2 = "D:/test6.txt";
* FileWriter file1 = new FileWriter(pathName2);
* BufferedWriter filewriter2 = new BufferedWriter(file1);
*/
filewriter2.write("test6");
filewriter2.write("\nhello");//遇到非\n换行的系统导致不能正常换行
filewriter2.newLine();//newLine()方法换行,能解决不同系统间换行方法不同的难题
filewriter2.write("world");
filewriter2.close();//关闭流
}
}
}
java文件(文件夹)操作的更多相关文章
- Java笔记:文件夹操作
创建目录: File类中有两个方法可以用来创建文件夹: mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false.失败表明File对象指定的路径已经存在,或者由于整个路径还不存在, ...
- java中文件的I/O操作
java中文件的读写操作 (一) (1)java中文件的字节转成字符读操作 FileInputStream fStream = new FileInputStream("test.txt&q ...
- Java的文件读写操作
file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...
- Java api 入门教程 之 JAVA的文件操作
I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...
- Java的文件读写操作 <转>
目录: file内存----输入流----程序----输出流----file内存 java中多种方式读文件 判断文件是否存在不存在创建文件 判断文件夹是否存在不存在创建文件夹 java 写文件的三种方 ...
- java 遍历文件夹里的文件
Java遍历文件夹的2种方法: A.不使用递归: import java.io.File; import java.util.LinkedList; public class FileSystem { ...
- java常见文件操作
收集整理的java常见文件操作,方便平时使用: //1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if ( ...
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常 ...
- Java多种方式读文件,追加文件内容,等对文件的各种操作
一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 import java.io.BufferedReader; import jav ...
- [转]Java的文件读写操作
file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...
随机推荐
- CSS之后代选择器与多类选择器
<新人报到,欢迎拍砖#- -> 一.后代选择器 说起CSS的后代选择器.它属于派生选择器中的一种,两者附属关系如下: -->派生选择器 ----CSS 后代选择器 ----CSS 子 ...
- 使用Javascript限制文本框只允许输入数字
很多时候需要用到限制文本框的数字输入,试过许多方法,都不太理想,遂决定自己实现一个来玩玩.曾经使用过的方法通过onkeydown事件来控制只允许数字: <input onkeydown=&quo ...
- MySQL 元数据
MySQL 元数据 你可能想知道MySQL以下三种信息: 查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数. 数据库和数据表的信息: 包含了数据库及数据表的结构信息. M ...
- Object Storage(Swift)安装过程——Havana
自从看了Havana安装文档有关Swift的安装一节,发现H版的安装过程与以前还是有些差别的.不过大致过程还是那些.下面简单介绍下我们安装的过程吧,具体请参考官方文档http://docs.opens ...
- golang io需要牢记的几个点
对于Reader比较麻烦需要记住以下: When Read encounters an error or end-of-file condition after successfully readin ...
- 『重构--改善既有代码的设计』读书笔记----Inline Method
加入间接层确实是可以带来便利,但过多的间接层有时候会让我自己都觉得有点恐怖,有些时候,语句本身已经够清晰的同时就没必要再嵌一个函数来调用了,这样只会适得其反.比如 void test() { if ( ...
- CMake交叉编译配置
很多时候,我们在开发的时候是面对嵌入式平台,因此由于资源的限制需要用到相关的交叉编译.即在你host宿主机上要生成target目标机的程序.里面牵扯到相关头文件的切换和编译器的选择以及环境变量的改变等 ...
- 下拉菜单选择(jQuery实现)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- 正则如何匹配div下的所有<li>标签?
<?php header('Content-Type:text/html;charset=utf-8'); $str = '<div class="c1s"> & ...
- 在PyQt4中使用matplotlib
matplotlib作为Python中著名的数据可视化工具,其官网也提供了在PyQt4中使用的源码,这里举一个应用实例,以备不时之需. 1) 利用Qt Designer创建GUI界面 Demo的GUI ...