Java中File类重修
IO流
概述
io流:输入输出流(input/output)。流是一组有顺序的,有起点和终点的字节集合,是对各种数据传输的总称或抽象。即数据在两设备之间的传输称为流。流的本质是数据传输。
- InputStream:所有输入流的超类
- OutputSream:所有输出流的超类
1、在指定的目录中查找文件后缀为.txt的文件
import java.io.File;
//在指定的目录中查找文件
public class FindFile {
public static void main(String[] args) {
// 在F盘查找文件后缀名为.txt的文件
findFile(new File("F:/"), ".txt");
}
/**
*查找文件的方法
*@param target 查找目标
*@param ext 文件扩展名
*/
public static void findFile(File target, String ext) {
if (target == null) {
return;
}
if (target.isDirectory()) {
File[] files = target.listFiles();
// 若访问c盘,有些是系统文件,可能返回空
if (files != null) {
for (File file : files) {
findFile(file, ".txt");// 递归调用
}
}
} else {
// 此处表示File是一个文件
String name = target.getName().toLowerCase();
if (name.endsWith(ext)) {
System.out.println(target.getAbsolutePath());
}
}
}// findFile
}
2、从文件读取内容和向文件写入内容
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class InputAndOutput {
public static void main(String[] args) {
in();
out();
}
// 从文件读取内容
private static void in() {
File file = new File("F:/test.txt");
// 构建一个文件输入对象
try {
InputStream in = new FileInputStream(file);
StringBuilder sb = new StringBuilder();
byte[] flush = new byte[1024];
int len = -1;// 表示每次读取的字节长度
// 把数据读入到数组中,并返回读取的字节数,当不等于-1时,表示读取到了数据,等于-1时表示读取完成
while ((len = in.read(flush)) != -1) {
// 根据读到的字节数组,在转换为字符串内容,追加到StringBuilder中
sb.append(new String(flush, 0, len));
}
System.out.println(sb);
// 关闭输入流
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}// in
// 将内容输出到文件
private static void out() {
// 确定目标文件
File file = new File("F:/test.txt");
// 构建一个文件输出流对象
try {
OutputStream out = new FileOutputStream(file, true);// true 为追加标识
// 要写入文件的数据
String info = "小河流水哗啦啦";
out.write(info.getBytes());
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}// out
}
Java中File类重修的更多相关文章
- java中File类的常用方法总结
java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...
- Java 中File类的createNewFile()与createTempFile(), delete和deleteOnExit区别
1. Java 中File类的createNewFile()与createTempFile()的区别 最近,在看代码时看到了一个方法, File.createTempFile() ,由此联想到File ...
- Java中File类的基本用法
File类的基本用法 java.io.File类:代表文件和目录.在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到此类. File类的常用构造方法:public File(Strin ...
- java中File类的使用
public class FileLei { public static void main(String[] args) throws IOException { //..表示上 ...
- java中File类的相关学习
File类 1.关于系统路径分割符. 在Windows中,使用反斜杠“\”作为路径分割符,比如“c:\test”,但是java中反斜杠表示转义,所以需要用“C:\\test”在程序中来表示路径.还可以 ...
- java中File类的常用所有方法及其应用
创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir() 在指定位置创建一个单级文件夹.mkdirs() 在指定位置 ...
- java中File类中list()和listFiles()方法区别
list()和listFiles()方法区别: 1.返回值类型不同:前者为String数组,后者为File对象数组 2.数组中元素内容不同:前者为string类型的[文件名](包含后缀名),后者为Fi ...
- Java中File类总结
/** * @Title:JavaFile.java * @Package:com.yhd.chart.model * @Description:File类测试 * @author:Youhaidon ...
- Java中File类的方法详解
File类也是Java中一个比较重要的类,通过他我们可以实现对文件的一系列操作,其内置了很多方法,下面我将按方法的功能分块,逐一讲解: 快速导航 构造方法 常用方法 创建目录 判断 `is...` t ...
随机推荐
- Cocoapods组件化之搭建组件化项目框架
一,概述 随着公司业务需求的不断迭代发展,工程的代码量和业务逻辑也越来越多,原始的开发模式和架构已经无法满足我们的业务发展速度了,这时我们就需要将原始项目进行一次重构大手术了.这时我们应该很清晰这次手 ...
- (转)Linux将命令添加到PATH中
转:https://www.cnblogs.com/leibg/p/4479921.html Linux将命令添加到PATH中博客分类:linuxLinuxApacheBash 简单说PATH就是一组 ...
- HTTP和HTTPS协议,详解
大纲 一.前言: 先来观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.12306.cn/otn/regist/init, ...
- NOIP 2010 P1514 引水入城
题目:传送门 题目概要:有一个n行m列的矩阵,每一个格子都有一个高度,路径只能从高处向低处扩散,问你如果最后一行可以全部被覆盖,最少要从第一行多少个格子开始,如果不能使最后一行全部被覆盖,求有多少个格 ...
- Linux实用技巧--隧道
平时开发过程中,可能会遇到一些网络问题,比如npm install 一些依赖包.本地电脑是可以,没有问题.但是测试环境服务器,由于公司内部网络安全限制,不可以随意访问外部网络.因此下载一个依赖包就变得 ...
- HUD-2112 HDU Today(最短路map标记)
题目链接:HUD-2112 HDU Today 思路: 1.最短路spfa模板. 2.map标记建图. 3.考虑距离为0或者-1的情况. 总结:下次map记得清空orz. AC代码: #include ...
- Parentheses Sequence微软编程笔试
描述 You are given a sequence S of parentheses. You are asked to insert into S as few parentheses as p ...
- Windows下Navicat远程连接Linux下MySQL服务器错误1130
今天用Navicat在Windows下连接Linux服务器上的MySQL,显示出错误1130. 当然这是在修改了MySQL的配置文件my.cnf的前提下允许远程访问的基础上的,如果没有修改my.cnf ...
- [BZOJ4151]The Cave
Solution: 假设现在在点1,有许多形如 (x, y, z) 的限制条件,那么对于一组限制,必须先走到 x, y 的 \(\frac{z-dis(x, y)}{2}\) 级祖先,叫这些点为限 ...
- java_第一年_JDBC(3)
事务 我们在通过JDBC连接数据库并开始交互时,默认情况下是自动提交的,有时由于为了保持业务流程的完整性.提高性能或是使用分布式事务,需要启动支持事务,此时的方法是调用Connection对象的set ...