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) 版权声明:本文为博主原创文章,未经博主允许不得转载. 创建文件和目 ...
随机推荐
- JAVA之简单编程练习
1.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 解决思路:递归方法解决,兔子的规律为数列1,1,2,3,5,8 ...
- 题解 P5301 【[GXOI/GZOI2019]宝牌一大堆】
这道题除了非常恶心以外也没有什么非常让人恶心的地方 当然一定要说有的话还是有的,就是这题和咱 ZJOI 的 mahjong 真的是好像的说~ 于是就想说这道题出题人应该被 锕 掉 noteskey 整 ...
- 011_TCP专项研究监控
(1)In Segs 数据源: /proc/net/snmp; 采集方式:累计值,每10秒采集一次取差值: 指标:net.snmp.tcp (key: system); In Segs: tcp协议层 ...
- JVM学习资料
java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理 ...
- django学习笔记-模板层
模板层 将Python嵌入到HTML中. 模板简介 将HTML硬解码到视图并不是那么完美原因如下: 对页面设计时也需要对python代码进行相应的修改,模板可以不就行python代码修改的情况下变更设 ...
- C# 高级编程01----.Net基础介绍
一.C#与.Net 的关系 1)C#语言 1. C#是一种简洁.类型安全的面向对象语言,可以使用C#语言创建可以在.Net Framework上运行的应用程序 2. C# 语言功能取决于.Net 的功 ...
- iOS开发之HTTP与HTTPS网络请求
HTTP是互联网中应用最为广泛的一种网络协议,在进入正文之前,先解释什么是网络协议?网络协议为计算机网络中进行数据交换而建立的规则.标准或约定的集合.网络协议是由以下三个要素组成:语义.语法.时序.国 ...
- Jmeter4.0+版本If Controller使用
最近需要混合压测, 需要按比例混压多个接口, 需要使用if controller, 直接写比较的函式就是不通, 关于if controller的使用, 网上找了一些资料, 发现在jmeter4.0+版 ...
- Java线段树
线段树不是完全二叉树,是平衡二叉树 堆也是平衡二叉树 堆满二叉树: h层,一共有2^h-1个节点(大约是2^h) 最后一层(h-1层)有2^(h-1)个节点 最后一层的节点数大致等于前面所有层节点之和 ...
- CF809E Surprise me!
题解: 一道很套路的题目 首先一个结论 $\phi(xy)=\frac{\phi(x)*\phi(y)*gcd(x,y)}{\phi(gcd(x,y))}$ 这个按照$\phi$的定义很容易知道 然后 ...