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对文件的基本操作的更多相关文章

  1. java写文件的基本操作

    import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOExce ...

  2. java读取文件的基本操作

    import java.io.FileInputStream; /** * 使用FileInputStream读取文件 */ public class FileRead { /** * @param ...

  3. java之文件基本操作

    java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...

  4. Java api 入门教程 之 JAVA的文件操作

    I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...

  5. servlet中Java连接数据库后的基本操作

    servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...

  6. JAVA的文件操作【转】

    11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...

  7. HDFS文件的基本操作

    HDFS文件的基本操作: package wjn; import java.io.BufferedInputStream; import java.io.BufferedReader; import ...

  8. I/O流以及文件的基本操作

    文件操作: 文件操作其实就是一个FIle类:我们学习文件操作就是学习File类中的方法: 文件基操: 第一部分:学习文件的基本操作(先扒源码以及文档) Constructor Description ...

  9. java创建文件和目录

    java创建文件和目录 2013-09-04 12:56 99933人阅读 评论(7) 收藏 举报  分类: JAVA基础(10)  版权声明:本文为博主原创文章,未经博主允许不得转载. 创建文件和目 ...

随机推荐

  1. python2x和python3的区别

    1,源码的区别 py2x:源码比较混乱,重复代码较多,冗余 py3x: 源码崇尚优美,代码清晰简单 2,用户交互的区别: py2x:python2中input的到的数据类型为int型,Python2x ...

  2. twfont

    module game { /** *Created by 渔歌烟火 on 2018/3/28. * 字体缓动动画 */ export class LabelEffect { private stat ...

  3. word20170106在机场 At the airport有用的词和句子

    有用的词: airport terminal: 航站楼 domestic flight: 国内航班 international flight: 国际航班 checked luggage: 托运行李 c ...

  4. Bootstrap常用表单布局

    参考链接: https://blog.csdn.net/shuai_wy/article/details/78978023

  5. return *this和return this有什么区别?

    return *this返回的是当前对象的克隆或者本身(若返回类型为A, 则是克隆, 若返回类型为A&, 则是本身 ). return this返回当前对象的地址(指向当前对象的指针). 转: ...

  6. 自动备份远程mongodb数据库并拉取到本地

    自动备份远程mongodb数据库并拉取到本地 目标: 远程服务器 .1中的mongodb数据拉回公司测试服务器中 .远程服务器中编写自动备份mongodb脚本 ①编写脚本 # vim /opt/bac ...

  7. HTTP请求(Request)和回应(Response)对象

    附录H HTTP请求(Request)和回应(Response)对象 57 http://djangobook.py3k.cn/ Django使用request和response对象在系统间传递状态. ...

  8. ArrayList源码学习

    1.ArrayList:基于数据实现,允许出现空值和重复元素,当ArrayList中添加的元素数量大于底层数组容量是,会通过扩容机制重新生成一个更大的数组.(非线程安全) 2.源码分析 构造函数 /* ...

  9. windows使用pyecharts报错 No module named 'pyecharts_snapshot

    下载此文件后,使用命令 pip install pyecharts_snapshot-0.1.8-py2.py3-none-any.whl 安装完成即可 链接地址:https://pypi.org/p ...

  10. pyqt win32发送QQ消息

    标题应该改为:python+win32发送QQ消息,全程使用python套个pyqt壳. 其实代码来自: http://blog.csdn.net/suzyu12345/article/details ...