复习java基础第六天(IO)
一:File 类
package com.shellway.io;
import java.io.File;
import java.io.IOException;
import org.junit.Test;
public class IOtest {
@Test
public void test() throws IOException{
File file = new File("helloo.txt");
//获取文件的名称
String fileName = file.getName();
System.out.println(fileName);
//获取文件的绝对路径
String filePath = file.getAbsolutePath();
System.out.println(filePath);
//为文件重命名,不仅文件名变了且原来的文件路径跟着下面的路径变
// file.renameTo(new File("D:\\test\\day03\\helloo.txt"));
String path = file.getPath();
System.out.println(path);
//文件检测相关方法
System.out.println(file.exists());
File dir = new File("shellway");
System.out.println(dir.isDirectory());
System.out.println(dir.isFile());
//获取文件的常规信息
System.out.println(file.length());//单位为字节,一个汉字为两个字节,换行会加两个字节
//文件的相关操作
File file2 = new File("adc.txt");
file2.createNewFile();//创建一个空的文件
File file3 = new File("adc");
file3.mkdir();//创建一个空的目录
file2.delete();//删除一个文件
}
}
1、IO流的分类
package com.shellway.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import org.junit.Test;
public class IOtest {
/**
* 测试字符输入流
* @throws IOException
*/
@Test
public void testReader() throws IOException {
Reader reader = new FileReader("helloo.txt");
char []buffer = new char[10];
int len = 0;
while((len = reader.read(buffer)) != -1){
for(int i = 0;i < len;i++){
System.out.print(buffer[i]);
}
}
reader.close();
}
/**
* 测试字节输入流
* @throws IOException
*/
@Test
public void testInputStream() throws IOException {
//1、创建一个字符输入流
InputStream in = new FileInputStream("helloo.txt");
//2、读取文件内容
//2、1一次读取一个字符,效率很低,不建议这样读,-1表示读到文件的结尾
int result = in.read();
while(result!=-1){
System.out.print((char)result);
result = in.read();
}
//2、2一次读取一组字符,
byte []buffer = new byte[10];
int length = 0;
while((length = in.read(buffer))!=-1){
for(int i = 0;i<length;i++){ //注意不能加“=”号
System.out.print((char)buffer[i]);
}
//2、3把内容读取到字节数组的部分连续的元素中
byte []result1 = new byte[1024*10];
//10为字节数组的开始部分,第三个为实际长度。
in.read(result1, 10, in.available());
}
//3、关闭字符流
in.close();
}
}
测试字符、字节输入流
复习java基础第六天(IO)的更多相关文章
- java基础之IO流(二)之字符流
java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写 ...
- java基础之IO流(一)字节流
java基础之IO流(一)之字节流 IO流体系太大,涉及到的各种流对象,我觉得很有必要总结一下. 那什么是IO流,IO代表Input.Output,而流就是原始数据源与目标媒介的数据传输的一种抽象.典 ...
- Java基础之IO流整理
Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽 ...
- Java基础之IO技术(一)
---恢复内容开始--- Java基础中的IO技术可谓是非常重要,俗话说的好,万丈高楼起于垒土之间.所以学习Java一定要把基础学好,今天我们来学习IO技术的基础. IO无非就是输入与输出,而其中处理 ...
- java面试:java基础、Io、容器
1.java基础 1.JDK 和JRE有什么区别 JDK:java开发工具包,java开发运行环境.包含了JRE. JRE:java运行环境,包含java虚拟机,java基础类库. 2.jav ...
- Java基础之IO和NIO补完
Java Stream,File,IO 关于NIO和IO的比较,参考:Java NIO系列教程(十二) Java NIO与IO java包之java.io 参考材料:菜鸟教材 NIO 由于下面的系列教 ...
- 【Java基础】IO 流
IO 流 File 类 java.io.File 类是文件和文件目录路径的抽象表示形式,与平台无关. File 能新建.删除.重命名文件和目录,但 File 不能访问文件内容本身. 如果需要访问文件内 ...
- 【java基础】]IO流
IO流 概念: 流的概念源于unix中管道(pipe)的概念,在unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备,外部文件等 一个流,一定能够会有源和去向(目的地),他 ...
- 黑马程序员——JAVA基础之IO流缓冲区,转换流,字节流
------- android培训.java培训.期待与您交流! ---------- 字符流的缓冲区 缓冲区的出现提高了对数据的读写效率. 对应类 • BufferedWriter ...
随机推荐
- Laravel-Action 对代码的改造
前言 以往写过俩篇文章[积德篇] 如何少写PHP "烂"代码 https://segmentfault.com/a/11...举枪消灭"烂代码"的实战案例 ht ...
- Windows环境下flask+Apache+mod_wsgi部署及爬坑
文章目录 安装python Windows 环境使用virtualenv和virtualenvwrapper 安装mod_wsgi 安装nginx 安装Apache 遇到的坑 安装Apache遇到的坑 ...
- 第三节:numpy之数组数学运算
- broker监控dataguard配置
使用broker查看dataguard信息时有告警 DGMGRL> show configuration; Configuration - DRTEST Protection Mode: Max ...
- springboot优雅的关闭应用
使用actuator,通过发送http请求关闭 将应用注册为linux服务,通过service xxx stop关闭 具体这两种方式如何实现,这里就不说了,网上百度一堆,主要讲一下在这两种情况下web ...
- [Cogs727] [网络流24题#2] 太空飞行计划 [网络流,最小割]
建图:源点—(w[i])—>实验—(∞)—>仪器—(cost[i])—>汇点, 如果该实验造成收益,则仪器到汇点的边在最小割中, 如果该实验造成损失,则源点到实验的边在最小割中, 故 ...
- 算是帮华仔写的撸JSON文件,然后发到我的REST接口的PYTHON代码
很久没有写过类似的代码了,感觉好陌生... #!/usr/bin/python #coding:utf-8 import json import getopt import sys import re ...
- 如何判断windows动态链接库是32还是64位
如果安装过Visual Studio的话,直接打开一个VS提供的控制台窗口,比如VS2012 x64 Native Tools Command Prompt. 用下面的命令查看程序的头部信息:“dum ...
- 配置Chrome的代理服务器
用命令行启动Chrome,带以下参数: --proxy-server="socks5://myproxy:8080" 下列参数可选 --host-resolver-rules= ...
- Openfire:通过Servlet群发消息
在Openfire中自带有Broadcase插件,可以让我们群发消息给全部用户或者组.不过如果是我们通过Servlet来实现这一功能,那么是能够增加一定的灵活性的.具体做法直接看Demo代码: pub ...