java基础学习之IO
java的IO是实现输入和输出的基础,IO可以方便的实现数据的输入和输出操作。通过流的形式允许java程序使用相同的方式来访问不同的输入/输出源。
常用的类以及方法如下:
- File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例
例如:
String path="F:\\2019\\课程\\2019内民族\\3-18\\3-18.txt";
File file=new File(path);
- boolean exists()
测试此抽象路径名表示的文件或目录是否存在
例如;
if(file.exists()) {
System.out.println("文件存在");
}
- boolean createNewFile()
当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件
例如:
String path="C:\\Users\\张宏庆\\Desktop\\cc.txt";
File file=new File(path);
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
4 boolean mkdir()
创建由此抽象路径名命名的目录
例如:
String path="C:\\Users\\张宏庆\\Desktop\\dd";
File file=new File(path);
try {
file.mkdir();
System.out.println("创建成功");
} catch (Exception e) {
// TODO: handle exception
}
- boolean isDirectory()
测试此抽象路径名表示的文件是否为目录
例如:
File[] files=file.listFiles();
for(File f:files) {//循环遍历files中的元素
if(f.isDirectory()) {
System.out.println("目录");
}
- boolean isFile()
测试此抽象路径名表示的文件是否为普通文件
File[] files=file.listFiles();
for(File f:files) {//循环遍历files中的元素
if(f.isFile()) {
System.out.println("文件");
}
7、File[] listFiles()
返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件
File[] files=file.listFiles();
8、String getPath()
将此抽象路径名转换为路径名字符串
f.getPath();
9、String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串
f.getAbsolutePath() ;
10、boolean delete()
删除由此抽象路径名表示的文件或目录
String path="C:\\Users\\张宏庆\\Desktop\\cc.txt";
File file=new File(path);
try {
file.delete();
System.out.println("删除成功");
} catch (Exception e) {
// TODO: handle exception
}
11、String getName()
返回由此抽象路径名表示的文件或目录的名称
f.getName();
关于字节流和字符流
字节流
public abstract class InputStream extends Object implements Closeable
方法:
int read(byte[] b)
从输入流读取一些字节数,并将它们存储到缓冲区 b
字节数组返回值,一定会出现半桶水和空桶的现象。int表示水桶返回的字节数量,空桶表示-1
例如:
String path="F:\\2019\\课程\\2019内民族\\3-18\\3-18.txt";
File file=new File(pathName);
try {
InputStream input=new FileInputStream(file);
byte[] buffer=new byte[1024];
int len;
while((len=input.read(buffer))!=-1) {
System.out.println("读取字节数为:"+len);
}
} catch (Exception e) {
// TODO: handle exception
}
void write(byte[] b, int off, int len)
从指定的字节数组写入 len个字节,从偏移 off开始输出到此输出流。
例如:
String fileSrc="C:\\Users\\张宏庆\\Desktop\\aa.txt";
String fileDest="C:\\Users\\张宏庆\\Desktop\\bb.txt";
File src=new File(fileSrc);
File dest=new File(fileDest);
try {
InputStream input=new FileInputStream(src);
OutputStream output=new FileOutputStream(dest);
byte[] buffer=new byte[1024];
int len;
while((len=input.read(buffer))!=-1) {
System.out.println("读取字节数:" + len);
output.write(buffer, 0, len);
}
} catch (Exception e) {
// TODO: handle exception
}
字符流:
public abstract class Reade extends Object implements Readable, Closeable
FileReader(File file)
创建一个新的 FileReader ,给出 File读取
public class BufferedReader extends Reader 通过缓冲的方式,优化文本信息的读取
String readLine() 读一行文字。
void println(String x)
打印一个字符串,然后终止行。
例如:
String fileSrc="C:\\Users\\张宏庆\\Desktop\\aa.txt";
String fileDest="C:\\Users\\张宏庆\\Desktop\\bb.txt";
File src=new File(fileSrc);
File dest=new File(fileDest);
try {
BufferedReader in=new BufferedReader(new FileReader(src));
PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(dest)));
String line;
while((line=in.readLine())!=null) {
out.println(line);
}
in.close();
out.close();
System.out.println("拷贝完成");
} catch (Exception e) {
// TODO: handle exception
}
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 【NLP保姆级教程】手把手带你RCNN文本分类(附代码)
- 【NLP保姆级教程】手把手带你HAN文本分类(附代码)
- 【情感分析】基于Aspect的情感分析模型总结(PART III)
- NLP简报(Issue#6)
- python实现kNN(最近邻)
- python实现朴素贝叶斯
- Transformers Assemble(PART V)
- 面试官问我:如何加载100M的图片却不撑爆内存,一张 100M 的大图,如何预防 OOM?
- 预训练模型中的可插拔式知识融入——利用Adapter结构
- 【情感分析】基于Aspect的情感分析模型总结(PART IV)
- 详解ERNIE-Baidu进化史及应用场景
- 安排!微软UniLM 2.0解读
- SpringBoot的事务传播机制
- NLP简报(Issue#7)
- 14种模式搞定面试算法编程题(PART I)