IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java文件处理 -> 正文阅读

[Java知识库]Java文件处理

File类【File对象,表示一个文件/目录】

构造方法:File([String directoryPath文件路径 / File f抽象路径名]String filename);

方法说明
String getAbsolutePath()返回抽象路径名的绝对路径名字符串
String getName()返回抽象路径名下的文件名或目录名
String getParent()返回抽象路径名的父目录的路径名字符串
String getPath()将抽象路径名转换为一个路径名字符串
boolean isDirectory()测试抽象路径名指向是否为 目录
boolean isFile()测试抽象路径名指向是否为 标准文件
boolean isHidden()测试抽象路径名指向是否为 隐藏文件
long lastModified()测试抽象路径名表示文件的最后修改时间
long length()测试抽象路径名指向的文件的长度
boolean exists()测试抽象路径表示的文件或目录是否存在
package note;
import java.io.File;
public class Filess 
{
	public static void main(String[] args) 
	{
		File f = new File("E:\\文档\\Java学习\\我的作业\\测试.txt");
		System.out.println("文件名称:"+f.getName());
		System.out.println("文件存在否:"+f.exists());
		System.out.println("文件的长度:"+f.length());
		System.out.println("文件路径:"+f.getAbsolutePath());
		System.out.println("是否为文件:"+f.isFile());
		System.out.println("是否为目录:"+f.isDirectory());
		System.out.println("最后修改时间:"+f.lastModified());		
	}
}

/*输出结果:
文件名称:测试.txt
文件存在否:true
文件的长度:44
文件路径:E:\文档\Java学习\我的作业\测试.txt
是否为文件:true
是否为目录:false
最后修改时间:1634312473196
*/

Java以流的方式操作文件,流是Java内存中 有序的数据序列。

流向:输入流【读取数据的流】/ 输出流【写入数据的流】

流量:字节流 /字符流

功能:节点流【直接操作目标设备的流】/ 过滤流【对指定流的链接与封装】

所有的流位于Java.io包中,继承自表格内的四类流:

InputStream向程序中输入数据的字节流
OutputStream向程序外输出数据的字节流
Reader向程序中输入数据的字符流
Writer向程序外输出数据的字符流

文件输入流 类【从某个文件获得输入字节

构造方法:FileInputStream(File f文件对象 / String s路径名);

方法说明
int available()返回 下次调用时估计无阻塞读取的剩余字节数
void close()关闭 此文件输入流并释放所有相关系统资源
int read()读取 此流中一个数据字节
int read(byte[] b)读入 此流中所有字节到 一个byte数组
int read(byte[] b,int off,int len)读入 此流中len个字节到 一个byte数组

示例:

package note;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class FileInputStreamExample
{
	public static void main(String[] args) throws IOException
	{
		int size;
		InputStream fileobject = new FileInputStream("E:\\文档\\Java学习\\我的作业\\测试.txt");
		System.out.println("可读取的字节数:"+(size=fileobject.available()));
		char[]text = new char[200];
		for(int count=0;count<size;count++)
		{
			text[count]=(char)fileobject.read();
			System.out.print(text[count]);
		}
		System.out.println();
		fileobject.close();
	}
}

文件输出流 类【输出字节到某个文件】

?构造方法:FileOutputStream(File f文件对象 / String s路径名);

方法说明
void close()关闭 此文件输出流并释放所有相关系统资源
int write(int b)写入 指定字节写入文件输出流
int write(byte[] b)写入 指定字节数组写入文件输出流
int write(byte[] b,int off,int len)写入 指定字节数组写入文件输出流,由off开始的len个
package note;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class FileOutputStreamExample
{
	public static void main(String[] args) 
	{
		try
		{
			String str = "好好学习 天天向上";
			byte[] words  = str.getBytes();
			OutputStream fos = new FileOutputStream("E:\\文档\\Java学习\\我的作业\\测试.txt");
			fos.write(words, 0, words.length);
			fos.close();
		}
		catch (IOException obj) 
		{
			 System.out.println("创建文件时出错");
		}
	}
}

BufferedRead类【从字符输入流读取文件】

构造方法:BufferedRead(Reader in [,int sz]);

方法说明
int read()读取 单个字符
int read(char[] cbuf,int off,int len)读入 字符到数组指定位置
String readLine()读取 一个文本行
void close()关闭 该流并释放相关资源

示例:

package note;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderExample 
{
	public static void main(String[] args) throws IOException 
	{
		FileReader fr = new FileReader("E:\\文档\\Java学习\\我的作业\\测试.txt");
		BufferedReader br = new BufferedReader(fr);
		
		String line = br.readLine();
		
		while(line!=null)
		{
			System.out.println(line);
			line=br.readLine();
		}
	}
}

BufferedWriter 类【以字符流把数据写入文件】

构造方法:BufferedWriter(Writer in [,int sz]);

方法说明
void write(int c)写入 单个字符
void write(char[] cbuf,int off,int len)写入 字符数组的指定部分
void write(String s,int off,int len)写入 字符串的指定部分
void newLine()写入 一个行分隔符
void close关闭 此流,要先刷新

示例:

package note;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedWriterExample 
{
	public static void main(String[] args) throws IOException 
	{
		FileWriter fw = new FileWriter("E:\\文档\\Java学习\\我的作业\\测试.txt");
		BufferedWriter bw = new BufferedWriter(fw);
		bw.write("大家好");
		bw.write("哈哈哈");
		bw.newLine();
		bw.write("123123");
		bw.newLine();
		bw.write("456789");
		
		bw.flush();
		bw.close();	
	}
}

示例, 复制文件A的内容到文件B:

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:30:54  更:2021-10-16 19:32:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:17:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码