java对文件的基本操作
package cn.edu.fhj.day009.FileDemo; import java.io.File;
import java.io.IOException; public class FileDemo { public static void main(String[] args) throws IOException { // 将路径描述成File对象
// File file = new File("d:/java_fd_test/fileDemo.txt");
File file = new File(
"F:/up_mouth_10/code_data/Data_Structure_And_Algorithm");
boolean exists = file.exists(); // 如果路径所表示的文件或者文件夹存在,则返回true
System.out.println(exists); // 判断该file是文件夹还是文件
boolean directory = file.isDirectory();
System.out.println(directory); // true boolean ifFile = file.isFile();
System.out.println(ifFile); // false // 获取文件的绝对路径
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath); // 可以获取文件名或文件夹名
String name2 = file.getName();
System.out.println(name2); File file2 = new File(
"F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/Demo.txt");
ifFile = file2.isFile(); // true
System.out.println(ifFile); // 获取文件名
String name = file2.getName();
System.out.println(name); // 获取上一级目录的file对象
File parentFile = file2.getParentFile();
System.out.println(parentFile.getAbsolutePath()); // 获取上一级目录的路径字符串
String parent = file2.getParent();
System.out.println(parent); // 获取文件长度 字节(8个bit-- 二进制位)
long length = file2.length();
System.out.println(length); System.out.println("------------------------"); // 获取指定目录下的子节点的名称字符串
String[] list = file.list();
for (String s : list) {
System.out.println(s);
} System.out.println("------------------------"); // 获取指定目录下的子节点的File描述对象
File[] listFiles = file.listFiles();
for (File f : listFiles) {
System.out.println(f.getAbsolutePath());
} System.out.println("------------------------"); // 创建一个文件夹
File f = new File(
"F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz");
// boolean mkdir = f.mkdir(); // 不能创建多级目录
// System.out.println(mkdir); // boolean mkdirs = f.mkdirs(); // 可以创建多级目录
// System.out.println(mkdirs);
//
// // 创建文件
File file3 = new File(
"F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz/cls.txt");
boolean createNewFile = file3.createNewFile();
System.out.println(createNewFile); // 重命名文件:其实可以把路径都给改了
file3.renameTo(new File(
"F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz/cls001.txt")); // 删除文件
boolean delete = file3.delete();
System.out.println(delete); } }
FileOutputStreamDemo文件的写
package cn.edu.fhj.day009.FileDemo;
import java.io.FileOutputStream;
public class FileOutputStreamDemo {
public static void main(String[] args) throws Exception {
// 覆盖的方式写数据
FileOutputStream fos = new FileOutputStream(
"F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/Demo.txt");
String s = "a你好";
byte[] bytes = s.getBytes();
fos.write(bytes);
// 将字符串按指定编码集编码--》将信息转成二进制数 fos.write(bytes); // 这样写入的数据,会将文件中的原数据覆盖
// 追加的方式写数据:如果要往一个文件中追加数据,则在FileOutputStream的构造参数中多传一个true
FileOutputStream fos2 = new FileOutputStream(
"F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/Demo.txt",
true);
fos2.write(",sb".getBytes("UTF-8"));
fos2.close();
/**
* 第一句和后两句话写到文件中的数据完全相同
*/
fos.write("我用一生一世为你祈祷".getBytes()); // .getBytes()编码的过程
fos.write((byte) 49);
fos.write((byte) 51);
/**
* 这两句话写到文件中的数据完全相同
*/
// fos.write((byte)13);
// fos.write("\r".getBytes());
fos.close();
}
}
FileInputStreamDemo的读
package cn.edu.fhj.day009.FileDemo; import java.io.FileInputStream;
import java.io.InputStream; public class FileInputStreamDemo { public static void main(String[] args) throws Exception { // 要读文件,首先要构造一个FileInputStream对象
InputStream fis = new FileInputStream(
"F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/Demo.txt"); /**
* 把数从文件中读取出来 如何读取字符
*/
// FileInputStream是一种字节流,是按照一个一个字节去文件中取数据的
// 手动一个字节一个字节地读取
/*
* int read = fis.read();
*
* System.out.println(read);
*
* read = fis.read(); System.out.println(read);
*/ /**
* 利用fis读到文件末尾后会返回-1的特性,来用循环进行读取
*/
int read = 0;
/*
* while((read=fis.read())!=-1) { System.out.println(read); }
*/ System.out.println("-------------------");
/**
* 如果我要读出数据(文本文件中的数据其实就是字符) 过程是:还是先读数,然后按照码表,将这个数转成字符
*
*/
/*
* read = 0; while((read=fis.read())!=-1) { //
* char就代表一个英文字符,而且使用的是ascII码表规则 char c = (char)read;
* System.out.println(c); }
*/ /**
* 一次读取多个字节然后转成某种数据类型 read(buf)方法,一次读取buf长度个字节数据,并且读到的数据直接填入了buf数组中
*/
/*
* byte[] buf = new byte[8]; int num = fis.read(buf); // 返回的是真实读到的字节数量
* String string = new String(buf,2,5); // 利用二进制的byte数组来转成字符串
* System.out.println(string);
*/ /**
* 用while循环来反复读取
*/
int num = 0;
byte[] buf = new byte[8];
while ((num = fis.read(buf)) != -1) {
System.out.println(new String(buf, 0, num));
} // 关流
fis.close();
} }
java对文件的基本操作的更多相关文章
- java写文件的基本操作
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOExce ...
- java读取文件的基本操作
import java.io.FileInputStream; /** * 使用FileInputStream读取文件 */ public class FileRead { /** * @param ...
- java之文件基本操作
java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...
- Java api 入门教程 之 JAVA的文件操作
I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...
- servlet中Java连接数据库后的基本操作
servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...
- JAVA的文件操作【转】
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...
- HDFS文件的基本操作
HDFS文件的基本操作: package wjn; import java.io.BufferedInputStream; import java.io.BufferedReader; import ...
- I/O流以及文件的基本操作
文件操作: 文件操作其实就是一个FIle类:我们学习文件操作就是学习File类中的方法: 文件基操: 第一部分:学习文件的基本操作(先扒源码以及文档) Constructor Description ...
- java创建文件和目录
java创建文件和目录 2013-09-04 12:56 99933人阅读 评论(7) 收藏 举报 分类: JAVA基础(10) 版权声明:本文为博主原创文章,未经博主允许不得转载. 创建文件和目 ...
随机推荐
- Balanced Number HDU - 3709
题目大意:若一个数以某个位置为支点,支点左右的加权和相同,这样的数被称为平衡数,求区间内平衡数的个数 思路:枚举支点位置,针对每个支点进行数位DP,但是0比较特殊,假设该数的长度为len,枚举len次 ...
- 二分查找算法的java实现
1.算法思想: 二分查找又称折半查找,它是一种效率较高的查找方法. 时间复杂度:O(nlogn) 二分算法步骤描述: ① 首先在有序序列中确定整个查找区间的中间位置 mid = ( low + ...
- Agiliq署名的免费python书籍
在他们的官网介绍中,说他们团队自2009年开始使用Django,Python,Postgres,Augular等工具来开发webapp,移动应用后台等.并且,他们还有一个Github组织,开源了相当多 ...
- GDOI2019游记
只是提前开坑啊,CCF不要禁我赛啊QwQ 虽然才初三,不能进省队,但还是要拼一把,至少不能垫底吧. NTF和CDW两位初二巨佬都在四川省选拿了非正式选手Rank3,4,我还有什么理由去摸鱼? Day\ ...
- docker基础---数据卷volumes
1.数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 卷会一直存在 ...
- iOS unity 互相调用加载高德地图时
需要增加 mapView.delegate = self 这是一种设计模式,有的人称为代理,有的人称为委托,比如有A,B两个控制器,由A可以push到B,B可以pop回A,现在有一种情况,A中有一个l ...
- 最优的路线(floyd最小环)
问题描述 学校里面有N个景点.两个景点之间可能直接有道路相连,用Dist[I,J]表示它的长度:否则它们之间没有直接的道路相连.这里所说的道路是没有规定方向的,也就是说,如果从I到J有直接的道路,那么 ...
- [转] Vue中异步错误处理
一般在一个项目开始之前,我们一般会对现有的框架做一定功能上的丰富,比如对ajax请求功能的二次封装,封装的功能可能包含了:通用错误处理,请求过滤,响应过滤等等.如果我们封装的函数叫request,那么 ...
- ubuntu下 将证书导入java的cacerts证书库
首先,说下java的cacerts证书库: JAVA_HOME目录下的jre的cacerts 主要的步骤有4个: 生成证书 导出证书 导入证书 生成证书(此处CN的值为localhost或者你想设置的 ...
- UOJ#206. 【APIO2016】Gap 构造 交互题
原文链接www.cnblogs.com/zhouzhendong/p/UOJ206.html 题解 T = 1 的情况直接大力从两边向中间询问即可. T = 2 的情况挺妙的,我没想到. 考虑首先花费 ...